Я полагаю, что проблема этой ошибки скрыта в шаблоне. Вот моя форма:Не удалось выполнить проверку CSRF. Запрос прерван. Необычный случай
<form class="form-horizontal loginFrm" action="/login/" method="post">
{% csrf_token %}
<div class="control-group">
<input type="text" id="inputEmail" placeholder="Email" name = "username">
</div>
<div class="control-group">
<input type="password" id="inputPassword" placeholder="Password" name = "password">
</div>
<div class="control-group">
<label class="checkbox">
<input type="checkbox"> Remember me
</label>
</div>
<input type="submit" class="btn btn-success" value="Sign in">
</form>
<button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
И мой login
вид:
def login(request):
args = {}
args.update(csrf(request))
if request.POST:
username = request.POST['username']
password = request.POST['password']
user = auth.authenticate(username=username, password=password)
if user is not None:
auth.login(request, user)
args['username'] = username
return HttpResponseRedirect('/', args, context_instance=RequestContext(request))
else:
return HttpResponseRedirect('/', args, context_instance=RequestContext(request))
else:
return HttpResponseRedirect('/',args,context_instance=RequestContext(request))
В моем последнем проекте, она работала правильно. Но вот эта ошибка.
Вы упомянули https://docs.djangoproject.com/en/1.8/ref/csrf/#how-to-use-it? и сконфигурирован csrf –
Как вы вывести форму для входа? Вы используете ярлык 'render_to_response()'? – catavaran