是否可以在不重置的情况下更新 cookie 值,我需要保存过期时间?目前我尝试做这样的事情:
class SetBannerCookie(object):
def process_template_response(self, request, response):
max_age = 60
banners = Banner.objects.filter(active=True, show_start_date__lte=timezone.now(), show_end_date__gte=timezone.now())
for banner in banners:
cookie_name = 'banner_'+str(banner.id)
if cookie_name in request.COOKIES:
# update value only here
else:
response.set_cookie(cookie_name, value='yes', max_age=max_age, path='/')
return response
请您参考如下方法:
您可以获取cookie的过期时间,然后用新值更新cookie,同时将剩余的过期时间设置为过期时间。
例如,我们设置一个 cookie 的有效期为 60 分钟。 20 分钟后,还剩 40 分钟。现在我们可以更新 cookie 并将过期时间设置为 40 分钟。因此我们可以保留原来的过期时间。
request.META['HTTP_COOKIE'] 将包含原始 cookie 字符串。我们可以使用 SimpleCookie类来解码值。现在进行计算并更新它。
