簡體   English   中英

Django 管理員讓我退出

[英]Django Admin Keeps Logging me Out

我正在使用開發服務器,在/admin/登錄,這一切都很好。 然后我可以單擊一個管理項目,例如組: /admin/auth/group/ 然后我在 JavaScript 控制台中看到:

Uncaught SyntaxError: Unexpected token <

這是來自:

?next=/admin/jsi18n/:1

在網絡選項卡中,我看到對/admin/jsi18n/的請求的狀態代碼為 302,該代碼由於某種原因已被重定向並顯示請求 cookie(看起來有效)和響應 cookie(現在為空)。

我在這里做錯了什么?

這是我的settings.py cookie 變量:

CSRF_COOKIE_NAME = 'tokenname_csrftoken'
CSRF_COOKIE_SECURE = False
CSRF_HEADER_NAME = CSRF_COOKIE_NAME
SESSION_COOKIE_NAME = CSRF_COOKIE_NAME
SESSION_COOKIE_SECURE = False

找到了。

所有 cookie 名稱都必須是唯一的。 當然有道理。

SESSION_COOKIE_NAME更改為'tokenname_sessionid'

https://docs.djangoproject.com/en/1.11/ref/settings/#csrf-cookie-name

我最近也遇到了這個問題,但原因與接受的答案中建議的不同。 我花了 2 天的時間才弄明白這個問題,希望這能幫助遇到類似問題的人。

我以這種方式設置了SECRET_KEY

from django.core.management.utils import get_random_secret_key

SECRET_KEY = os.getenv('APP_SECRET_KEY', default=get_random_secret_key())

而且,由於沒有設置APP_SECRET_KEY環境變量,而且由於我是在APP_SECRET_KEY中重建應用程序,所以每次都會生成一個新的秘密。

解決方案:確保您的密鑰不會更改,因為它會影響 Django 會話驗證。

參考資料:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM