webpy使用过程中的一些注意事项

一些注意事项

  1. urlencode使用web.net.urllib.quote(),urldecode使用web.net.urllib.unquote()
  2. htmlencode使用web.net.htmlquote() 或 web.net.websafe(),htmldecode使用web.net.htmlunquote()
  3. quote与unquot参数和返回值都需要str格式的,所以参数都需要'xx'.encode('utf-8'),返回值需要unicode(result,'utf-8')。如:unicode(quote('xx'.encode('utf-8')),'utf-8')
  4. 使用apache + mod_wsgi部署时,报错说是找不到模板,使用了绝对路径才ok,可以使用__file__来做。
  5. web.py的模板系统的定义变量语句$def with(name1, name2)要放到页面起始位置。
  6. 使用了jquery的话,$会引起冲突,需要转义为$$
  7. 可以使用$:render.header()$:render.foot()来实现类似PHP include引用模板。
  8. 如果要向模板中传入很多值,可以用locals()来传值。locals()返回值是字典型。
  9. 使用apache + mod_wsgi部署时,import本地模块会抱错,解决方法在http://webpy.org/install#apachemodwsgi中有提到。
  10. 使用apache + mod_wsgi部署时,session也要使用绝对路径。
  11. 使用sessions时,默认设置的cookie_path是错误的,具体表现是使用python code.py运行时是正确的,使用mod_wsgi时每次都会在服务器端重新生成一个新的session,相关代码在web/session.py中,解决办法是在定义session之前,设置参数,web.config.session_parameters['cookie_path'] = '/'

posted on 2013-10-21 17:35  一个石头  阅读(347)  评论(0)    收藏  举报