Ответы пользователя по тегу JavaScript
  • AJAX, Django, CSRF: Почему выходит ошибка 403?

    Bahusss
    @Bahusss
    Python Master
    На самом деле csrf.js не генерирует csrf token, а только читает его из cookies и помещает в HTTP заголовок, чтобы Django (CsrfViewMiddleware) смог прочитать его и защитить от CSRF-атаки, если токен невалиден.

    Таким образом, чтобы добавить в cookies этот самый csrf token необходимо чтобы:
    1. В MIDDLEWARE_CLASSES обязательно должна быть указана CsrfViewMiddleware
    2. В шаблоне вам нужно вставить в какую-нибудь форму тег {% csrf_token %}, если у вас нет никакой подходящей формы, то воспользуйтесь декоратором ensure_csrf_cookie (https://docs.djangoproject.com/en/1.8/ref/csrf/#dj..., которым нужно декорировать view c index.html.
    Ответ написан
    2 комментария