我正在尝试使用 django 构建一个应用程序。我使用 django-admin startproject 创建了该应用程序。在浏览器中查看页面时,不会设置会话cookie。
在 chrome 开发工具中检查响应时,我发现响应没有为会话设置cookie。
我尝试在 settings.py 中添加"SESSION_SAVE_EVERY_REQUEST = True",但同样的问题。
settings.py 文件代码
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
响应标头表单测试服务器
HTTP/1.0 200 OK
Date: Thu, 18 May 2017 07:23:00 GMT
Server: WSGIServer/0.1 Python/2.7.12
X-Frame-Options: SAMEORIGIN
Content-Type: text/html
Content-Length: 1716
这是因为
Django 只在需要时发送 cookie。如果您没有设置任何 会话数据,它不会发送会话 cookie。
https://docs.djangoproject.com/en/1.11/topics/http/sessions/
因此,您正在访问的一个页面安排对会话进行更改,例如
request.session['hello'] = 'world'
之后,您将在任何地方看到会话听觉器。