在python文件中的html内的django csrf_token

时间:2018-08-14 18:31:52

标签: django django-csrf

在我的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>"""

1 个答案:

答案 0 :(得分:0)

您需要将其添加为隐藏输入<input name="csrfToken" value="token_value" type="hidden">

docs很好地解释了如何获取令牌值。