Как я могу встроить django csrf маркер прямо в HTML?

в рамках моего django приложения я храню строки HTML в дб, который будет затем отображен на домашних страницах пользователей как "сообщения". Некоторые из этих сообщений содержат формы, но не записанный на шаблонном языке, я не могу вставить csrf маркер (таким образом повреждение приложения).

Существует ли способ вставить этот маркер непосредственно из файлов Python, которые я редактирую? я ищу что-то вроде:

csrf_token = django.csrf.generate()
message = "press the button please: <form><input type='hidden' name='csrf_token' value='%s'><input type='submit' value='press here'></form>" % (csrf_token)

любое другое решение, которое работало бы в подобном сценарии, будет отличным.Спасибо

Править: На самом деле это не собирается работать, потому что маркер отличается для каждой сессии, так хранение его в дб не очень полезно. существует ли способ динамично загрузить маркер в рамках представления?

28
задан ergelo 20 July 2010 в 13:04
поделиться

2 ответа

Вызов django.middleware.csrf.get_token (запрос) , чтобы получить токен CSRF.

50
ответ дан 28 November 2019 в 02:31
поделиться

Способ использовать это, это использовать это непосредственно в шаблонах.

Из документации,:

<form action="" method="post">
{% csrf_token %}

это все, что вам нужно включить.

25
ответ дан 28 November 2019 в 02:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: