在我的单元测试中,我已经使用禁用了 CSRF
WTF_CSRF_ENABLED = False
Run Code Online (Sandbox Code Playgroud)
失败的示例测试用例
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))
Run Code Online (Sandbox Code Playgroud)
但是在我的模板中,我调用了 csrf 令牌。
{% for form in tag_forms%}
{{form.csrf_token}}
{{form.tag_name}}
{{form.update}}
{{form.delete}}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
这导致以下错误
jinja2.exceptions.UndefinedError: 'app.tag.forms.UpdateTagForm object' has no attribute 'csrf_token'
Run Code Online (Sandbox Code Playgroud)
我猜这个错误是由于我已经禁用了 CSRF 令牌。如何解决这个问题?
我在谷歌Chrome控制台中尝试了以下代码,我得到了这个输出.为什么还要额外打印4张?
var i = 0;
do{
console.log(i);
i++;
} while(i < 5);Run Code Online (Sandbox Code Playgroud)
输出:
0
1
2
3
4
4
Run Code Online (Sandbox Code Playgroud)