1. url参数映射 (搜索词cherrypy add url parameter)
    class Root:
    @cherrypy.expose
    def check(self):
    return "hello"
    发现在url中加入 “check?param=123”就出现 "Nothing matches the given URI" 错误
    尝试了几种搜索词发现,url参数必须在方法的参数列表中给出
    原文 : http://tools.cherrypy.org/wiki/ParameterDemonstration
    cherrypy.serving.request.query_string是无效的
    更改方法签名后可用
    def check(self,param=None):
    return "hello" ,param
    def check(self,**kw):
     return "hello" ,kw['param']
  2. genshi 模板
    python lib,用于html xml渲染
    http://genshi.edgewall.org
  3. conf文件配置编码:
    tools.encode.on:True
    tools.encode.encoding: 'utf-8'
    不设置在浏览器打开可能使用默认编码导致中文乱码
  4. request body需要read完才能返回请求
    出现个问题就是 一个url请求post过来,body里是个数据文件,这边只通过一个参数确定其没有权限,要直接返回,结果请求端什么都没收到,一直等待,最后发现是需要read完请求的所有数据流才能返回结果。不知道其他web程序是否有相同问题,很奇妙。
  5. CherryPy返回xml页面 需要指定 Content-type text/xml 上传字节流则需要指定 Content-type为 text/plain
  6. CherrpPy获取链接中的参数,类型为unicode 需要转换为 string类型,否则可能出现 字符串相同,但程序结果不一致问题
  7. 启动host设置
    新增了个服务器,启动时写localhost怎么都访问不了,写ip只能在本机访问,刚开始还以为和其他服务器一样,后来经国宝提醒,是别的服务器用了nginx,裸端口的话 需要写内网ip地址才行
posted on 2011-12-23 15:52  架构师刀哥  阅读(432)  评论(0编辑  收藏  举报