Skip to main content
 首页 » 编程设计

python之Django 1.11.1 没有在项目上生成 SessionID

2024年10月01日38lvdongjie

我正在尝试使用 Django 构建一个应用程序。我使用 django-admin startproject 创建了应用程序。在浏览器中查看页面时,未设置 session cookie。

在 chrome 开发工具中检查响应时,我发现响应没有为 session 设置 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 only sends a cookie if it needs to. If you don’t set any session data, it won’t send a session cookie.

https://docs.djangoproject.com/en/1.11/topics/http/sessions/

因此,您正在访问的其中一个页面安排对 session 进行更改,例如

request.session['hello'] = 'world' 

之后你会到处看到 session 监听器。