Я получаю сообщение об ошибке «Недостаток или недопустимый токен CSRF», хотя я считаю, что я включил правильный тег в шаблон. Ниже приведен вид и шаблон, который показывали эту ошибку:Как исправить ошибку проверки CSRF?
def contact(request):
if request.method == 'POST':
form = ContactForm(request.POST)
if form.is_valid():
cd = form.cleaned_data
return HttpResponseRedirect('/contact/thanks/')
else:
form = ContactForm()
return render_to_response('reserve/templates/contact_form.html',{'form': form})
Шаблон:
<html>
<head>
<title>Contact us</title>
</head>
<body>
<h1>Contact us</h1>
{% if form.errors %}
<p style="color: red;">
Please correct the error{{ form.errors|pluralize }} below.
</p>
{% endif %}
<form action="" method="post">
{% csrf_token %}
<table>
{{ form.as_p }}
</table>
<input type="submit" value="Submit">
</form>
</body>
</html>
Если посмотреть исходный код HTML шаблонов вы видите маркер поле CSRF быть установлены? – Mikael
Также убедитесь, что вы добавили промежуточное программное обеспечение в settings.py или используете декоратор @csrf_protect. – Mikael
Проверьте это как использовать его в своем приложении: https://docs.djangoproject.com/en/dev/ref/contrib/csrf/#how-to-use-it – Mikael