我有一个网站正在处理,我想在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)
答案 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:固定(在主人中)