2011-01-26 190 views
8

我無法用我創建的任何超級用戶登錄到Django管理員。嘗試創建新的超級用戶,更改密碼等 - 沒有錯誤消息的任何這些進程,但仍然無法登錄。無法登錄到Django管理員

我不確定它是否相關,但我也不能運行django- admin.py命令。以下是我迄今所做的:

$ django-admin.py validate 
Error: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined. 
$ export DJANGO_SETTINGS_MODULE=mysite.settings 
$ django-admin.py validate 
Error: Could not import settings 'mysite.settings' (Is it on sys.path? Does it have syntax errors?): No module named mysite.settings 

sys.path中顯示[ '/用戶/ joerobinson /網站/ Django的/ mysite的' ......(其他的路徑的東西)

有我需要做其他事情來註冊mysite模塊?

python manage.py runserver正常工作。

結論
有關登錄到Django管理的問題,我沒有列入我的AUTHENTICATION_BACKENDS django.contrib.auth.backends.ModelBackend - 加入這讓我登錄到管理。

我還在研究django-admin.py配置問題(它似乎沒有關係),並將在單獨的問題中重新打開它。

+0

用戶必須是員工才能登錄到管理員。爲這些用戶設置is_staff = True。 – Evgeny 2011-01-26 18:05:25

+0

is_staff被適當設置...同樣的問題。 – Joe 2011-01-26 18:16:31

+0

`django-admin.py`不適用於運行項目特定的命令,比如`validate`。爲此使用`manage.py`。 – 2011-01-26 18:36:39

回答

7

那麼,回答你的一個問題,mysite的父文件夾是需要在python路徑上。將mysite本身添加到您的Python路徑中將會暴露mysite的內容,而不是將mysite模塊的內容暴露給python。

至於runserver工作/密碼不工作,我不知道。你有沒有定製任何認證?

您可以啓動shell並嘗試使用您的超級用戶進行身份驗證嗎? http://docs.djangoproject.com/en/dev/topics/auth/#django.contrib.auth.authenticate

您在評論中說「is_staff設置得適當......同樣的問題。」 - 這是否意味着您可以使用第一個超級用戶登錄以設置is_staff

5

我遇到了類似的問題,但是,即使在刪除數據庫並從頭開始創建數據庫後,我仍無法在管理界面上登錄。問題是由一個真正愚蠢的錯誤造成的。

請勿意外運行python manage.py testserver。確保你使用python manage.py runserver

7

在我的情況下,我有「SESSION_COOKIE_SECURE = True」,因爲我在嘗試SSL配置。只是評論這條線的工作。