是否可以更新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
答案 0 :(得分:3)
您可以获取Cookie的到期时间,然后使用新值更新Cookie,同时将剩余的到期时间设置为到期时间。
例如,我们设置一个剩余60分钟到期时间的cookie。 20分钟后,剩下40分钟。现在我们可以更新coookie并设置到期时间为40分钟。因此我们可以保持原来的到期日。
request.META['HTTP_COOKIE']
将包含原始Cookie字符串。我们可以使用SimpleCookie
类来解码值。现在进行计算并更新它。