【发布时间】:2020-02-10 08:35:45
【问题描述】:
我将 Flask 与 Flask-WTF 一起使用。我决定在测试中禁用 CSRF 保护,因为用它进行测试有点尴尬,而且我不想测试 Flask/Flask-WTF。然而,这又引发了另一个问题:
jinja2.exceptions.UndefinedError: 'trip_planner.auth.forms.LoginForm object' has no attribute 'csrf_token'
违规模板如下:
{% extends "base.html" %}
{% block main %}
<form method="POST">
{{ form.csrf_token }}
<div>
{{ form.username.label }}{{ form.username }}
</div>
<div>
{{ form.password.label }}{{ form.password }}
</div>
<div>
<button type="submit">Login</button>
</div>
</form>
{% endblock %}
我的理解如下:如果CSRF被完全禁用,WTForms不会费心在表单中注入CSRF令牌字段。
我可以让 Jinja 忽略此错误或以其他方式避免此问题吗?
【问题讨论】:
标签: python flask jinja2 flask-wtforms