django - python文件中html内的django csrf_token
问题描述
在我的 models.py 中,我有一个辅助函数,它将一些 html 传递到列表中。然后我在views.py 中使用该列表。我一直收到 CSRF 验证失败,错误。下面models.py中的相关代码
f = """<form action="/solutions/" method="post">
<input type="submit"> </form>"""
我尝试了很多方法来纠正错误,包括下面的代码
f = """<form action="/solutions/" method="post">
{j}
<input type="submit"> </form>""".format(j=django.middleware.csrf.get_token(request))
但是,当我这样做时,我得到一个“函数”对象没有属性“META”错误。在我的模板中,我使用 {% csrf_token %} 但在我的辅助函数中使用它并没有成功。
我尝试过类似下面的代码。但也没有让它工作
f = """<form action="/solutions/" method="post">
{% csrf_token %}
<input type="submit"> </form>"""
解决方案
您需要将其添加为隐藏输入<input name="csrfToken" value="token_value" type="hidden">
文档很好地解释了如何获取令牌值。
推荐阅读
- python - 创建使用 Flask 和 Bootstrap 生成的可排序表(使用 React.js)
- angular - 如何使用同一 ts 文件中的材料对话框从另一个组件中清除表单数据?
- mysql - 在代码点火器查询构建器中按“乘法”排序
- android - android pie 模拟器没有被下载
- node.js - Nodejs简单套接字连接不起作用
- c++ - 导入 3d 模型 - 我是否必须使用自定义顶点类型进行索引?
- signal-processing - 数字音频中的镶边效果
- laravel - Laravel 5.5 中的 Auth::attempt () 总是返回 false
- excel - VBA:将数据从一个工作簿传输到另一个工作簿的问题
- firebase - Recaptcha 在浏览器中的 Firebase Phone Auth App 上被视觉破坏