Чтобы получить значение csrf_token
в шаблоне Django, вы можете использовать несколько методов. Вот несколько часто используемых подходов:
Метод 1. Используйте тег шаблона {% csrf_token %
:
В шаблоне Django вы можете использовать тег шаблона {% csrf_token %
, чтобы генерировать и отображать значение токена CSRF. Этот тег создаст элемент HTML со значением токена CSRF в качестве атрибута
value
. Вы можете получить доступ к этому значению с помощью JavaScript или отправив форму.
Пример использования:
<form method="post">
{% csrf_token %}
<!-- Other form fields -->
<button type="submit">Submit</button>
</form>
Метод 2: доступ к значению токена CSRF через JavaScript.
Вы также можете получить доступ к значению токена CSRF с помощью JavaScript и назначить его переменной для дальнейшего использования. Django устанавливает значение токена CSRF в файле cookie с именем csrftoken
, который вы можете получить с помощью JavaScript.
Пример кода JavaScript:
var csrftoken = document.querySelector('[name=csrfmiddlewaretoken]').value;
console.log(csrftoken);
Пример использования в представлении:
from django.template.context_processors import csrf
def my_view(request):
context = {}
context.update(csrf(request))
# Other view logic
return render(request, 'my_template.html', context)
Пример использования в теге пользовательского шаблона:
from django import template
register = template.Library()
@register.simple_tag(takes_context=True)
def custom_tag(context):
csrf_token = context.get('csrf_token')
# Other tag logic
return csrf_token