Я получаю отказ CSRF в Django, и никакие статьи не работают. В нем говорится, что он используется для сообщений, как я помню, и он включен в форму, но не в теге формы.Не удалось выполнить проверку CSRF. Запрос прерван. Django
settings.py
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
login.html
{% extends 'base.html' %}
{% block body_block %}
<h1>Login</h1>
<form id="login_form" method="post" action="{% url 'accounts:login' %}">
{% csrf_token %}
<div class="input-group input-group-md">
<span class="input-group-addon">Username</span>
<input type="text"class="form-control" placeholder="Username" aria-describedby="basic-addon2" name="username" value="" size="50" />
</div>
<br>
<div class="input-group input-group-md">
<span class="input-group-addon">Password</span>
<input class="form-control" placeholder="Password" aria-describedby="basic-addon2" type="password" name="password" value="" size="50" />
</div>
<br>
<div class="input-group input-group-md">
<input class="btn btn-default navbar-btn" type="submit" value="Submit" />
</div>
</form>
<br /><br />
<a style="font-size:22px;" href="/accounts/register/">Need to make a new account?</a>
{% endblock %}
{% block buttons %}
{% endblock %}
views.py:
def user_login(request):
context = RequestContext(request)
if request.method == 'POST':
form = LoginForm(request.POST)
username = request.POST['username']
password = request.POST['password']
user = authenticate(username=username, password=password)
if user:
if user.is_active:
login(request, user)
return redirect('bookmarks:silo')
else:
return HttpResponse("Your Sitename account is disabled.")
else:
return render_to_response('accounts/login.html', locals(), context)
else:
template_name = 'accounts/login.html'
return render_to_response('accounts/login.html', locals(), context)
Почему это CSRF маркер не работает? Спасибо.
Какую версию django вы используете? –