0
所以我重新考慮了我的代碼(因爲它太醜了,我不能離開它)。並且不觸及settings.py,SessionMiddleware
已停止存在於Django中。request.session屬性在Django中消失
此回溯是在我刪除了需要會話的任何其他中間件之後。每當我調用嘗試從請求訪問會話的函數時,就會發生這種情況(正如您可以閱讀的那樣)。
AttributeError: 'WSGIRequest' object has no attribute 'session'
在此之前,它是
AssertionError: The Django authentication middleware requires session middleware to be installed. Edit your MIDDLEWARE_CLASSES setting to insert 'django.contrib.sessions.middleware.SessionMiddleware'.
這裏是我在我的settings.py
關於會話:
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
# 'django.contrib.auth.middleware.AuthenticationMiddleware',
# 'django.contrib.messages.middleware.MessageMiddleware',
# Uncomment the next line for simple clickjacking protection:
# 'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
[...]
INSTALLED_APPS += ('django.contrib.sessions',)
# SESSION_ENGINE = 'django.contrib.sessions.backends.db'
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
SESSION_EXPIRE_AT_BROWSER_CLOSE = True
SESSION_SERIALIZER = 'django.contrib.sessions.serializers.JSONSerializer'
SESSION_SAVE_EVERY_REQUEST = True
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'LOCATION': 'unique-snowflake'
},
'files_downloads': {
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'LOCATION': 'unique-snowflake'
}
}
CACHE_BACKEND = 'locmem://'
有沒有人發生了什麼事到我的服務器的任何想法?
編輯:我已經在StackOverflow(和幾乎幾乎是我的副本)上發現了很多類似的問題,我試過了。我在這裏沒有看到什麼?
您是否嘗試過運行''syncdb''? – niekas
是的。我也嘗試過並清理了之前的會話。 –
證明我的Django安裝已損壞。所有的項目(甚至是新的,沒有改變的都有這個問題)。與代碼或我的項目設置無關。 –