我使用的是瓶子框架,我试图设置一个cookie,它将在15分钟内过期,但它从来没有起作用,我发现问题在于我设置的过期时间。在
我的问题是我不能让datetime.timedelta()
将当前时间增加15分钟。只有当我提供“days”关键字参数并将其设置为0以外的值时,它才起作用。在
即:
它是这样工作的:
expire_date = datetime.datetime.now()
expire_date = expire_date + datetime.timedelta(days=10, seconds=900)
response.set_cookie("MyCook", "CookieVal", expires=expire_date)
以下内容不起作用(未创建或更新cookie):
^{pr2}$或者
expire_date = datetime.datetime.now()
expire_date = expire_date + datetime.timedelta(seconds=900)
response.set_cookie("MyCook", "CookieVal", expires=expire_date)
我看过文件,但不清楚这到底是怎么回事。在
https://docs.python.org/2/library/datetime.html#datetime.timedelta
有人能帮我弄清楚吗?提前谢谢。在
你住在格林威治以西吗?在
来自bottle的
set_cookie
函数要求UTC datetime对象将它们转换为字符串,因此不考虑您的时区:见https://github.com/bottlepy/bottle/blob/master/bottle.py#L1729:
换句话说,如果你把到期日设定在上午11:00,那就是格林尼治标准时间上午11:00,比如哥斯达黎加的3:00。在
将过期日期增加一天或多天(甚至几个小时)可以解决您的问题,因为
expire_date
值将大于当前GMT时间。在解决此问题的正确方法是使用当前GMT时间而不是本地当前时间:
^{pr2}$相关问题 更多 >
编程相关推荐