내가 쓰고있는 장고 프로젝트에서 MongoEngine을 사용하려고합니다. 인증 백엔드 작동 방법을 얻는 데 어려움이 있습니다.MongoEngine 사용자 인증 (django)
내가 말할 수있는 한 사용자 개체는 요청에 저장되지 않습니다.
나는 제대로 작동하지만 제대로 작동하는지 확실하지 않습니다. 누군가가 내 코드를 볼 수 있다면 크게 감사 할 것입니다. 내 settings.py에서
def login(request):
user = authenticate(request.POST['username'],request.POST['password'])
if user is not None:
request.session['user'] = user
if user.is_authenticated:
return HttpResponse(user)
else:
return HttpResponse('login failed')
def new_page(request):
try:
user = request.session['user']
if user.is_authenticated:
return HttpResponse('welcome')
except:
return HttpResponse('need be logged in')
I이 파일의 맨 위에 추가 한 : 어떤 언급도하지 않습니다하지만 난에 대한 mongoengine를 사용하기 때문에 당신이 어떤 문제를보고하는 경우
AUTHENTICATION_BACKENDS = (
'mongoengine.django.auth.MongoEngineBackend',
)
SESSION_ENGINE = 'mongoengine.django.sessions'
import mongoengine
mongoengine.connect('project')
정확히 어떻게 작동해야하는지에 대한 도움을 주셔서 감사합니다. 실제 로그인 기능과 충돌하여 'login'보기를 호출해서는 안됩니다. – justinfay
맞습니다. 나는 당신의 모범을 복사하고있었습니다. 내가 쓴 것은 – MattoTodd
포인터를 보내 주셔서 감사합니다! ** mongoengine.django.auth **에서 ** User **를 가져 오는 것은 의미가 있습니다 ("일반"사용자는 ** django.contrib.auth.models **에서 가져와야합니다. ** django.contrib가 아닙니다. .auth **) –