【问题标题】:Django 1.11.1 No SessionID generated on The ProjectDjango 1.11.1 没有在项目上生成 SessionID
【发布时间】:2017-10-17 21:20:21
【问题描述】:

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

在检查 chrome dev-tools 中的响应时,我发现响应没有为会话设置 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

【问题讨论】:

    标签: python django cookies django-sessions


    【解决方案1】:

    因为

    Django 仅在需要时发送 cookie。如果你没有设置任何 会话数据,它不会发送会话 cookie。

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

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

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

    之后,您将到处看到会话听众。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-19
      • 2012-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-29
      • 2013-01-01
      相关资源
      最近更新 更多