에
CSRF verification failed. Request aborted.
을, 당신은 필요 RequestContext
의 인스턴스를 다시보기로 전달하십시오. 또한 양식에 {% csrf_token %}
이 추가되어야합니다. 보기 코드에서
, 당신은 당신을 위해 올바른 컨텍스트를 incude 것입니다되는 render
shortcut을 사용할 수 있습니다 : CSRF가 제대로 작동하려면
from django.shortcuts import render
def admin_login(request):
# your normal code
return render(request, 'admin/login.html', {'username': username})
문서의 CSRF section을 위해 필요한 사항의 체크리스트를 가지고있다.
당신은 대신 자신의 논리를 작성하는 authenticate()
를 사용해야합니다
from django.contrib.auth import authenticate
user = authenticate(username='john', password='secret')
함께 모든 퍼팅, 코드는 지금 : 나는 내장 messages framework 표시하기 위해 사용하고
from django.shortcuts import render
from django.contrib.auth import authenticate
from django.contrib import messages
def admin_login(request):
"""Logs in an admin user, redirecting to the dashboard"""
if request.POST:
username = request.POST.get('username')
password = request.POST.get('password')
user = authenticate(username, password)
if user is not None:
if user.is_active:
login(request, user)
request.session['admin_id'] = user.id
return redirect('dashboard')
else:
# do something because user was not active
messages.add_message(request, messages.ERROR, 'User Inactive')
return render(request, 'admin/login.html')
else:
# password/username combination was wrong
messages.add_message(request, messages.ERROR, 'Invalid Credentials')
return render(request, 'admin/login.html')
else:
return render(request, 'admin/login.html')
오류 메시지
사용자 이름과 비밀번호가 맞습니까? 확인해 봤어 – NetStarter
http://stackoverflow.com/questions/10388033/csrf-verification-failed-request-aborted – devnull