2010-01-13 3 views
2

mod_python을 사용하여 Apache2 기반 서버에 장고 응용 프로그램을 배포하려고합니다. 핸들러를 올바르게 설정하고 mod_python을 내 프로젝트에서 사용할 수 있도록 구성했습니다. 내 프로젝트 내 사용자가 트위터에 연결하기 위해 사용자 정의 인증 백엔드를 구현하고, 내 백엔드 구현에 :Django 사용자 정의 인증 백엔드가 Apache에서 인식되지 않습니다.

myproject 
|- backends/ 

directory.Everything가 잘 동작하는 것, 내 페이지로드와 내가 제대로 읽기/쓰기 작업을 할 수 있습니다.

오류 가져 인증 백엔드 backends.twitteroauth : 내 트위터 계정으로 로그인을 시도 할 때마다 그러나, 응용 프로그램 예외가 말해 없습니다 발사 "아니 모듈 이름 backends.twitteroauth"

을 내 settings.py에서 나는 ' 내 백엔드 등록으로

AUTHENTICATION_BACKENDS = (
    'django.contrib.auth.backends.ModelBackend', 
    'myproject.backends.twitteroauth.TwitterBackend', 
) 

무엇이 문제입니까?

+0

이것은 또한 gunicorn의 문제입니다. –

답변

2

데이터베이스를 제거하면 내 문제가 해결됩니다. 내가 추측 할 수있는 한 사용자가 로그인하면 해당 로그인 백엔드가 데이터베이스의 세션 변수로 유지됩니다. 내 settings.py 파일은

입니다. 수정하기 전에 파일을 수정했습니다. settings.py를 변경하고 응용 프로그램을 다시 시작하면 충분하지 않습니다. 당신도 DB에서 세션 관련 레코드를 제거해야합니다.

2

문제는 파이썬이 모듈 twitteroauth을 찾을 수 없다는 것입니다. TwitterBackend 파일의 이름은 무엇입니까? 패키지로 표시하려면 파일이 backends에 있는지 확인하십시오.

편집 :

당신이 쉘에게

python manage.py shell 

을 실행하고 거기를 가져 오려고하면 어떻게됩니까? 다른 건 잘 작동으로

from myproject.backends.twitteroauth import TwitterBackend 

, 나는 myproject 당신의 파이썬 경로에 같아요.

+0

TwitterBackend는 클래스이고 파일은 twitteroauth입니다. 나는 디렉토리 안에 __init__.py을 가지고있다. –

+0

'init.py' 또는'__init __. py'? –

1

백엔드가 파이썬 경로에 있고 .py 파일이 폴더에 있는지 확인하십시오.

관련 문제