在我的 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">
这些文档很好地解释了如何获取令牌值。