Django 在同一个视图函数中使用会话和 cookie
Posted
技术标签:
【中文标题】Django 在同一个视图函数中使用会话和 cookie【英文标题】:Django using sessions and cookies in the same view function 【发布时间】:2021-08-17 16:09:25 【问题描述】:我正在尝试设置 cookie 并同时使用会话,但是当我设置 cookie 时,它没有检测到网站上的 cookie。我不知道我做错了什么,所以请帮助我。谢谢。
view.py
from django.http import HttpResponse
def session(request):
num_visits = request.session.get('num_visits', 0) + 1
request.session['num_visits'] = num_visits
resp = HttpResponse('View Count=' +str(num_visits) + ' e78e39ea')
resp.set_cookie('dj4e_cookie', 'e78e39ea', max_age=1000)
resp.set_cookie('zap', 42)
return HttpResponse(resp)
urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.session),
]
【问题讨论】:
【参考方案1】:您应该返回响应,而不是将其包装在 另一个响应中:
def session(request):
num_visits = request.session.get('num_visits', 0) + 1
request.session['num_visits'] = num_visits
resp = HttpResponse(f'View Count=num_visits e78e39ea')
resp.set_cookie('dj4e_cookie', 'e78e39ea', max_age=1000)
resp.set_cookie('zap', 42)
return resp # ← return the response itself
【讨论】:
以上是关于Django 在同一个视图函数中使用会话和 cookie的主要内容,如果未能解决你的问题,请参考以下文章