我有一个网站,该网站根据访问者选择的位置显示不同的内容。例如:用户输入55812作为邮政编码。我知道哪个城市和地区纬度/经度。也就是给他们有关该领域的内容。我的问题是如何将其存储在Cookie中,以便他们返回时不需要总是输入邮政编码?
我看到如下:
这是设置持久性cookie的助手:
import datetime def set_cookie(response, key, value, days_expire = 7): if days_expire is None: max_age = 365 * 24 * 60 * 60 #one year else: max_age = days_expire * 24 * 60 * 60 expires = datetime.datetime.strftime(datetime.datetime.utcnow() + datetime.timedelta(seconds=max_age), "%a, %d-%b-%Y %H:%M:%S GMT") response.set_cookie(key, value, max_age=max_age, expires=expires, domain=settings.SESSION_COOKIE_DOMAIN, secure=settings.SESSION_COOKIE_SECURE or None)
发送响应之前,请使用以下代码。
def view(request): response = HttpResponse("hello") set_cookie(response, 'name', 'jujule') return response
使用Django的会话框架应该涵盖大多数情况,但是Django现在也可以在请求和响应对象上提供直接的cookie操作方法(因此你不需要帮助函数)。
设置Cookie:
def view(request): response = HttpResponse('blah') response.set_cookie('cookie_name', 'cookie_value')
检索Cookie:
def view(request): value = request.COOKIES.get('cookie_name') if value is None: # Cookie is not set # OR try: value = request.COOKIES['cookie_name'] except KeyError: # Cookie is not set