python瓶持久cookie不工作

时间:2011-10-27 08:04:28

标签: python cookies bottle

我有一个网站正在处理,我想在cookie中存储一个值

这是一个数字,当用户访问网站时,我想知道他们上次访问时的数字是多少,所以我想有一个持久的cookie存储当前值,当用户来时该站点,如果没有会话cookie,那么会话cookie将获取持久cookie的副本。 这样,会话cookie总是具有上次访问时的值。

即使我已经设定了1年后的到期日,我的持久性cookie似乎仍未被保留

这是我的python代码:

persistentCookieKey = category + '_highest_id'
sessionCookieKey = 'session_' + persistentCookieKey + '_highest_id'

persistentCookieValue = request.get_cookie(persistentCookieKey)
if persistentCookieValue == None:
    persistentCookieValue = 0      # each time i restart my browser it comes through here!

sessionCookieValue = request.get_cookie(sessionCookieKey)
print 'persistentCookieValue:', persistentCookieValue
print 'sessionCookieValue:', sessionCookieValue

if sessionCookieValue == None:
    print 'session cookie not set, setting to:', persistentCookieValue
    sessionCookieValue = persistentCookieValue
    response.set_cookie(sessionCookieKey, str(persistentCookieValue))

print 'setting persistent cookie to value:', highestId
expireDate = date.today() + timedelta(days=365)
response.set_cookie(persistentCookieKey, str(highestId), expires=expireDate)

highestIdLastVisit = int(sessionCookieValue) 

1 个答案:

答案 0 :(得分:9)

Bottle使用http://docs.python.org/library/cookie.html来实现cookie支持。此实现要求expires参数为Wdy, DD-Mon-YY HH:MM:SS GMT格式的字符串。传递datetime或date对象无声地失败。

我会在未来的Bottle版本中解决这个问题(嗨,我是作者),但现在我建议改用max_age

编辑:哦,我刚注意到它也记录错误。对不起。 Edit2:固定(在主人中)