python - 在 Jinja2 中使用 "{{ field(class=...) }}"安全吗?

标签 python jinja2 wtforms

我正在使用 Flask/Wtforms/Jinja2,我不确定我是否正确理解 WTforms 中的这一部分:

If one wants to pass the “class” argument which is a reserved keyword in some python-based templating languages, one can do:

form.field(class_="text_blob")

很明显,form.field(class_="text_blob") 在模板中使用是安全的。但是 form.field(class="text_blob") 对我来说效果很好。

这是否意味着Jinja2中没有保留class并且我不需要关心?或者我应该将所有 class= 更正为 class_= 以防止可能出现的问题?

最佳答案

没错,class 不是 Jinja 中的保留字。它仍然可以用作 Python 中 **kwargs 的关键字参数,只是不能用代码编写。这就是 WTForms 支持两种拼写的方式。

form.field(**{'class': 'text_blob'})

关于python - 在 Jinja2 中使用 "{{ field(class=...) }}"安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41069474/

相关文章:

python - 具有多表继承的 Django 1.11 上的可能错误或 python 3.5 上的可能错误还是我?

python - 全局变量不改变?

Javascript/Jquery 代码在第一个事件上运行一次,在第二个事件上运行两次,依此类推

python - 如何在 WTForms 中创建名为“from”的字段?

validation - 如何删除 wtforms 中 id 字段的验证器

python - WTForms 中的小数字段舍入

python - Pandas :将多张纸保存到单独的数据框中

python - Python 的按位求补运算符 (~ 代字号) 是如何工作的?

python - 美化 Jinja2 模板

linux - Ansible 中与 Jinja2 相同字段的两个值