в рамках моего 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)
любое другое решение, которое работало бы в подобном сценарии, будет отличным.Спасибо
Править: На самом деле это не собирается работать, потому что маркер отличается для каждой сессии, так хранение его в дб не очень полезно. существует ли способ динамично загрузить маркер в рамках представления?
Вызов django.middleware.csrf.get_token (запрос)
, чтобы получить токен CSRF.
Способ использовать это, это использовать это непосредственно в шаблонах.
Из документации,:
<form action="" method="post">
{% csrf_token %}
это все, что вам нужно включить.