在我的django应用程序中,我将html字符串存储在数据库中,然后这些字符串将显示在用户的主页上作为"消息".其中一些消息包含表单,但不是用模板语言编写的,我无法插入CSRF令牌(因此 destruct 了应用程序).

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

任何其他可以在类似情况下工作的解决方案都会很棒. 谢谢

Edit:个 实际上这是行不通的,因 for each 会话的令牌都是不同的,所以将其存储在数据库中并不是很有用.有没有办法在视图中动态加载令牌?

推荐答案

拨打django.middleware.csrf.get_token(request)获取CSRF令牌.

Django相关问答推荐

把Django测试和testcafe结合起来?

无法在 docker 启动Django项目

如何在Django模板中为无效词典查找打开异常?

如何在Django中显示多个相关对象

如何在 Django REST Framework API 响应中使用多标签过滤器?

如何将 ManyToManyField 与另一个 ManyToManyField 进行比较

Django: Admin:在管理员中更改字段的小部件

Django - 如何从模型实例中获取管理员 URL

使用 Django 1.5 实现多种用户类型

PyCharm 无法正确识别需求 - Python、Django

无效的块标签: static

Django:何时使用 QuerySet 无

如何在不发送信号的情况下保存模型?

javascript 文件中的 Django {% static 'path' %}

如何在 django 中仅获取表的特定列?

Django 应用程序运行良好,但收到 TEMPLATE_* 警告消息

Django - 在设置中使用反向 url 映射

为整个结果集向 Django Rest Framework 结果添加额外数据

在 django 中获取空查询集的类名

django.core.servers.basehttp.FileWrapper 在 Django 1.9 中消失