2011-01-26 7 views
8

내가 만든 수퍼 유저와 함께 장고 관리자에게 로그인 할 수 없습니다. 새로운 수퍼 유저 만들기, 암호 변경 등을 시도했습니다.이 프로세스에 대한 오류 메시지는 표시되지 않지만 여전히 로그인 할 수 없습니다.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/사이트가/장고/내 사이트'(경로에있는 다른 물건)] 거기 : 여기에 지금까지 한 일이다 mysite 모듈을 등록하기 위해해야 ​​할 일이 있습니까?

python manage.py runserver 잘 작동합니다. 이 날 관리자에 로그인 할 수 추가 -

관리자를 장고에 로그인에 대한 질문에 대한 결론
, 나는 django.contrib.auth.backends.ModelBackend 내 ​​AUTHENTICATION_BACKENDS에 포함하지 않았다.

아직 django-admin.py 구성 질문 (관련없는 것으로 보입니다)에서 작업 중이며 별도의 질문으로 다시 엽니 다.

+0

사용자는 관리자로 로그인하려면 스태프이어야합니다. 해당 사용자의 경우 is_staff = True로 설정하십시오. – Evgeny

+0

is_staff가 적절히 설정되었습니다 ... 같은 문제입니다. – Joe

+0

'django-admin.py'는'validate'와 같은 프로젝트 별 명령을 실행하기위한 것이 아닙니다. 'manage.py'를 사용하십시오. –

답변

7

질문에 대답하기 위해 mysite의 상위 폴더가 파이썬 경로에 있어야합니다. 파이썬 경로에 mysite 자체를 추가하면 mysite 모듈이 아닌 파이썬 mysite의 내용이 노출됩니다.

runserver 작업/암호가 작동하지 않는 것처럼 단서가 없습니다. 인증을 통해 사용자 정의한 적이 있습니까?

셸을 시작하고 슈퍼 유저로 인증을 시도 할 수 있습니까? http://docs.djangoproject.com/en/dev/topics/auth/#django.contrib.auth.authenticate

당신은 "is_staff는 적절하게 설정되었습니다 ... 동일한 문제"라고 코멘트에서 말했습니다. - 첫 번째 수퍼 유저와 함께 로그인하여 is_staff을 설정할 수 있었습니까?

+0

링크, 유지를 가리켜 주셔서 고마워요. 실제로 몇 가지 이상한 동작이 있습니다. 쉘에서 사용자를 인증 할 수 없습니다 (authenticate()는 None을 반환합니다). api를 통해 admin 사용자를 검색하면 (admin_user = User.objects.get (username = 'joe')), admin_user.check_password ('mypwd')를 사용하여 암호를 검사하고 암호가 올바른지 확인할 수 있습니다. check_password()가 작동하는 경우 authenticate()가 작동하지 않는 이유는 무엇입니까? 이 수수께끼를 조금 더 발견해 주셔서 감사합니다. – Joe

+1

그건 완전히 미친 짓이야! AUTHENTICATION_BACKENDS이 (가) 무엇입니까? 'django.contrib.auth.backends'의 기본'ModelBackend'는 여러분이 한 일을 정확히합니다 :'user.check_password ('pwd')'. 알다시피, 나는 django의 인증 함수에 디버깅 코드를 임시로 두어 인증 백엔드를 통과 할 때 수행중인 작업을 확인할 수 있습니다. –

+3

선생님, 방금 제 하루를 보냈습니다. 나는 * 이것이 내 부분에 어리석은 oversite 이었다는 것을 * 알았다 - 장소에 불이행이 없었다. 고마워요, 고마워요 !! – Joe

5

나는 similair 문제가 발생했으나 데이터베이스를 제거하고 처음부터 만드는 경우에도 관리 인터페이스에 로그인 할 수 없었습니다. 문제는 실제 바보 같은 실수로 인한 것입니다.

우연히 python manage.py testserver을 실행하지 마십시오. python manage.py runserver을 사용해야합니다.

7

SSL 구성을 시도했기 때문에 제 경우 "SESSION_COOKIE_SECURE = True"였습니다. 그냥이 줄을 주석 처리했습니다.

+0

WOW 프로덕션 구성을 테스트하는 경우이 버그 ("기능")가 매우 중요합니다. 그랬어. 솔루션을 가져 주셔서 감사합니다. 내가 관리자로 로그인 할 수없는 이유를 알아 내는데 몇 시간을 보냈습니다. – Ivandir

관련 문제