Я разрабатывал простой вызов ajax (функция $.ajax с типом, url и данными как параметры) с jquery на странице, но я получил ошибку 403. Поэтому я добавил к функции $.ajax дополнительный параметр параметров для csrf, и соответствующий токен правильно отображается в шаблоне. Но я снова получил ошибку 403. Я также попытался добавить в обработчик вида (в views.py) декоратор csrf, например @csrf_protect
или @requires_csrf_token
но ничего не изменилось.
Некоторая помощь?
Я видел этот шаблон, чтобы сделать ajax-вызов в django https://docs.djangoproject.com/en/dev/ref/contrib/csrf/#s-ajax
но для меня действительно слишком много кода для создания простого вызова ajax, поэтому я нахожу короткое решение
Если вы не хотите использовать защиту CSRF для этого представления, @csrf_exempt
декоратор - это @csrf_exempt
--those, другой просто обеспечит защиту CSRF. Это, вероятно, самое простое решение, особенно если вызов не особенно чувствителен к безопасности.
Кроме того, убедитесь, что вы следуете методу, указанному в документах: https://docs.djangoproject.com/en/dev/ref/contrib/csrf/#page-uses-ajax-without-any-html-form
from django.views.decorators.csrf import ensure_csrf_cookie
<br> @ensure_csrf_cookie