Django 1.11.1 在项目上没有生成会话ID



我正在尝试使用 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'

之后,您将在任何地方看到会话听觉器。

最新更新