【发布时间】:2020-05-25 03:01:45
【问题描述】:
在我的单元测试中,我已经禁用了 CSRF 使用
WTF_CSRF_ENABLED = False
一个失败的示例测试用例
def test_get_tags(self):
tag_name = 'tag_1'
r = self.client.get(url_for('tag.tags'))
self.assertIn(tag_name, r.get_data(as_text=True))
但在我的模板中,我调用了 csrf 令牌。
{% for form in tag_forms%}
{{form.csrf_token}}
{{form.tag_name}}
{{form.update}}
{{form.delete}}
{% endfor %}
这会导致以下错误
jinja2.exceptions.UndefinedError: 'app.tag.forms.UpdateTagForm object' has no attribute 'csrf_token'
我猜这个错误是由于我禁用了 CSRF 令牌。如何解决?
【问题讨论】:
标签: python flask jinja2 python-unittest flask-wtforms