在 Jinja2 中使用“{{ field(class=...) }}”安全吗?
Is it safe to use "{{ field(class=...) }}" in Jinja2?
我正在使用 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")
对我来说很好。
是不是说class
在Jinja2中没有保留,我不需要关心?或者我应该将所有 class=
更正为 class_=
以防止可能出现的问题?
没错,class
不是 Jinja 中的保留字。它仍然可以用作 **kwargs
到 Python 的关键字参数,只是不能用代码编写。这就是 WTForms 支持这两种拼写的方式。
form.field(**{'class': 'text_blob'})
我正在使用 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")
对我来说很好。
是不是说class
在Jinja2中没有保留,我不需要关心?或者我应该将所有 class=
更正为 class_=
以防止可能出现的问题?
没错,class
不是 Jinja 中的保留字。它仍然可以用作 **kwargs
到 Python 的关键字参数,只是不能用代码编写。这就是 WTForms 支持这两种拼写的方式。
form.field(**{'class': 'text_blob'})