猿问

Django Cookies,如何设置?

我有一个网站,该网站根据访问者选择的位置显示不同的内容。例如:用户输入55812作为邮政编码。我知道哪个城市和地区纬度/经度。也就是给他们有关该领域的内容。我的问题是如何将其存储在Cookie中,以便他们返回时不需要总是输入邮政编码?

我看到如下:

  1. 根据其区域设置持久性cookie。

  2. 当他们返回读取的cookie时,请抓取邮政编码。

  3. 根据Cookie中的邮政编码返回内容。

我似乎找不到有关设置Cookie的任何可靠信息。任何帮助是极大的赞赏。


FFIVE
浏览 527回答 3
3回答

蓝山帝景

使用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

狐的传说

您可以手动设置cookie,但是根据您的用例(如果将来您想添加更多类型的持久性/会话数据),使用Django的会话功能可能更有意义。这将使您获得并设置内部绑定到用户会话cookie的变量。很棒的事情是,如果您要存储与用户会话相关的大量数据,则将其全部存储在cookie中将为HTTP请求和响应增加很多分量。使用会话时,会话cookie就是来回发送的所有内容(尽管Django存储会话数据时要注意一些开销)。
随时随地看视频慕课网APP
我要回答