django - 如何将 django csrf token 直接嵌入到 HTML 中?

标签 django csrf django-csrf

在我的 Django 应用程序中,我将 html 字符串存储在数据库中,然后这些字符串将作为“消息”显示在用户的主页上。其中一些消息包含表单,但不是用模板语言编写的,我无法插入 csrf token (因此破坏了应用程序)。

有没有办法直接从我正在编辑的 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)

任何其他适用于类似场景的解决方案都很棒。 谢谢

编辑: 实际上这是行不通的,因为每个 session 的 token 都不同,因此将其存储在数据库中并不是很有用。有没有办法在 View 中动态加载 token ?

最佳答案

调用django.middleware.csrf.get_token(request)获取CSRF token。

关于django - 如何将 django csrf token 直接嵌入到 HTML 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3289860/

相关文章:

php - 这是我需要做的一切来防止 php 和 ajax 的 csrf 攻击吗?

python - @csrf_exempt 在 Django 1.4 中停止工作

python - 为什么 Django 管理员登录给我 403 CSRF 错误?

jquery - 客户端和服务器之间的时区差异?

Django 与 Postgresql,列必须出现在 GROUP BY 子句中或用于聚合函数

python - Django 教程(使用 Heroku 上的指南), “Please supply the ENGINE value”(是的,我读过其他线程)

java - 无法在 Spring 中配置 CSRF 以免遇到 CORS 错误

python - Django 加密 key 完整性

javascript - 特定于域的 cookie 是否容易受到 CSRF 的攻击?

python - Django 数据库中存储的 csrftoken 在哪里?