Ответы пользователя по тегу Django
  • Django: post-запрос и проблема с CSRF

    mpriver
    @mpriver
    Должно без всяких ухищрений работать. Если используете стандартный шаблон приложения, от вас требуется только вставить {% csrf_token %} внутрь формы.

    Сам механизм в простом случае (без Ajax'а) работает так:
    1. Django устанавливает cookie csrftoken=CSRF-токен
    2. Вместо template_tag'а {% csrf_token %} Django вставляет:
    <input type="hidden" name="csrfmiddlewaretoken" value="CSRF-токен">
    

    3. При сабмите формы, cookie и CSRF-токен уходит обратно к Django вместе с остальными полями формы.
    4. Django сверяет токен из cookie и из POST.
    Ответ написан
    Комментировать