Django 在 cookie 中没有 sessionid

Django no sessionid in cookie

我正在使用 Mongo Engine/REST Framework with Django 1.6。

我所需要的只是让客户在点击其中一个视图时获得一个 sessionid。但是目前 cookie 中没有 sessionid。

views.py

@csrf_exempt
def updateInput(request):
    return HttpResponse("view has been hit")

settings.py

MIDDLEWARE_CLASSES = Common.MIDDLEWARE_CLASSES + ('django.contrib.sessions.middleware.SessionMiddleware',)
INSTALLED_APPS += ('django.contrib.sessions',)

SESSION_ENGINE = 'mongoengine.django.sessions'
SESSION_SERIALIZER = 'mongoengine.django.sessions.BSONSerializer'

DJANGO_APPS = (
    'django.contrib.sessions',
)

有什么想法吗?

根据 the Django docs,用户只有在必要时才能进行会话:

Django only sends a cookie if it needs to. If you don’t set any session data, it won’t send a session cookie.

您需要设置一些会话数据,然后您会在cookie中找到sessionid

我知道这个答案对您没有帮助,但肯定会对像我一样遇到您的问题的人有所帮助。如果您使用来自 javascript 的 cookie,例如作为 ajax 请求的一部分,您需要在 settings.py

中设置以下内容
SESSION_COOKIE_HTTPONLY=False