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