簡體   English   中英

無法登錄到 Django 中的管理站點

[英]Can't log in to admin site in Django

我正在完成投票教程,一切都很好,直到我嘗試登錄管理站點; 它只是說

“請輸入正確的員工帳戶用戶名和密碼。請注意,這兩個字段可能區分大小寫。”

所以我用谷歌搜索了這個問題並嘗試了我能做的一切。 以下是我調查的所有問題:

  • 數據庫未同步:我同步了它,但沒有任何變化。
  • 沒有django_session表:我檢查過; 在那里。
  • 有問題的設置:我對設置所做的唯一更改是在INSTALLED_APPS中添加了'polls.apps.PollsConfig',
  • 用戶配置不正確: is_staffis_superuseris_active都是True
  • 舊會話:我檢查了django_session表,它是空的。
  • 超大信息 cookie:我查過,但我什至沒有。
  • 在運行 Web 服務器時創建了超級用戶:我這樣做了,但是在停止 Web 服務器、創建新用戶並重新啟動 Web 服務器並嘗試使用新用戶登錄后,它仍然無法正常工作。
  • 缺少或錯誤的 URL 模式:目前我在 mysite/urls.py 中有url(r"^admin/", admin.site.urls)
  • 輸入錯誤的用戶名:我創建的用戶名是“admin”,這與我輸入的用戶名相同。
  • 錯誤的服務器命令:我正在使用python manage.py runserver
  • 數據庫有問題:我嘗試刪除數據庫,然后重新應用遷移,但沒有任何改變。

有什么我還沒有嘗試過,還是我錯過了什么?

我想你會通過其他方式創建這個用戶而不是python manage.py createsuperuser

當您有兩個身份驗證系統時會發生這種情 即,。 您可能擁有django內置身份驗證和(例如)基於DRF令牌的身份驗證。

要登錄后端(django admin),您必須使用python manage.py createsuperuser

要更改密碼,請使用以下內容,

python manage.py changepassword

檢查您的 is_active 模型字段。 您可能已將其默認值設置為 False,因此它可能不允許您登錄。

如果是這樣 -- is_active = models.BooleanField(default=False) -- 將其更改為 True,或者檢查數據庫並將創建的超級用戶的 is_active 中的值更改為 1。

如果正在使用的數據庫是默認的 sqlite3 數據庫,並且 settings.py 的 DATABASES 屬性引用了與 manage.py 不在同一目錄中的 db.sqlite3 文件,也會發生這種情況。

有時最簡單的解決方案可以解決大問題。 對我來說,評論或刪除就足夠了:

SESSION_COOKIE_SECURE = True

就這樣。

我的問題是使用正確的設置模塊,因為我為 local/local_proxy 和生產使用不同的數據庫 DJANGO_SETTINGS_MODULE=serverless_django.settings.local_proxy python manage.py createsuperuser 為我工作

我想你應該嘗試這些步驟:

  1. 創建新的管理員用戶

    python manage.py createsuperuser

  2. 在管理站點中使用新帳戶登錄

  3. 重置您帳戶的密碼並記住它

  4. 使用原始帳戶登錄管理站點

暫無
暫無

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

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