【发布时间】:2011-08-28 21:20:32
【问题描述】:
我看到一些参考资料说有 WSGI 中间件可以做到这一点,但我对处理 cookie 的 WSGI 中间件的选择知之甚少。
【问题讨论】:
我看到一些参考资料说有 WSGI 中间件可以做到这一点,但我对处理 cookie 的 WSGI 中间件的选择知之甚少。
【问题讨论】:
您不需要任何特殊的 pylons (0.9.7),一切都可以开箱即用:
from pylons import request, response
#set a cookie
response.set_cookie( cookiename , some_string, max_age=180*24*3600 )
#read a cookie
request.cookies.get( cookiename )
#remove a cookie
request.cookies.pop( cookiename, None )
Pylons 使用 Webob (request, response) 是 (webob.Request, webob.Response) 对象。
【讨论】:
request.cookies.pop(cookiename) 时,cookie 仍然出现在 Chrome 的 localhost cookie 视图中。此外,重复 GET 到调用 request.cookies.pop() 的页面会将该 cookie 列为在 request.cookies 中。我不明白这真的会从服务器/应用程序中删除 cookie。另一方面,response.set_cookie(key, max_age=0) 使 cookie 从 cookie 集中消失。
上面的.pop应该是
response.delete_cookie('cookie_name')
【讨论】: