Мне любопытно: я знаю, что в Django есть 2 способа защиты csrf: {% csrf_token %}
в шаблонах и @csrf_protect
в представлениях.
Так вот вопрос: взаимозаменяемы ли они? Я имею в виду, что я могу использовать, например, только @csrf_protect
в своих представлениях без тега {% csrf_token %}
в своих шаблонах, и эффект будет таким же?
Я спрашиваю об этом, потому что я использую mako в недавнем проекте Django, и нет такого тега, как {% csrf_token %}
...
Спасибо!!!
{% csrf_token %}
должен быть в шаблонах 2. представление должно быть защищено@csrf_protect
илиCSRF middleware
. Если вы используете другой механизм шаблонов или AJAX, вам необходимо предоставить токен csrf в контексте шаблона. Прочитайте, как: docs.djangoproject.com/en/ dev/ref/contrib/csrf/ - person user   schedule 21.03.2014