我的模板如下:
<div id="divLogin">
{% block login %}
<form action="/login" method="post">
{% csrf_token %}
<label for="id_name"></label><input type="text" name="email" id="id_name" placeholder="Your Email">
<label for="id_pass"></label><input type="password" name="password" placeholder="Your Password">
<input type="submit" id="btnLogin" value="Log In" class="btn">
</form>
{% endblock %}
</div>
我已经在模板中添加了 {% csrf_token %},我的登录视图是
def login_view(request):
if request.method == 'POST':
useremail=request.POST['email']
password=request.POST['password']
try:
user=User.objects.get(email=useremail)
if user.check_password(password):
uAuth=authenticate(username=user.username,password=password)
login(request,uAuth)
return render_to_response("blog.html",{'loginuser':user},context_instance=RequestContext(request))
except User.DoesNotExist:
return redirect('/')
return redirect('/')
即使我用过render_to_response
,RequestContext
我仍然有错误。有一件事很连贯,我在 login_view 方法中设置了一个断点,但是在它进入 login_view 方法之前 csrf 错误指出。所以这个方法没有回应?
我的代码有什么问题吗?
我已经在我的 settings.py 中添加django.middleware.csrf.CsrfViewMiddleware
了MIDDLEWARE_CLASSES
。