使用" {{field(class = ...)}}"是否安全?在Jinja2?

时间:2016-12-09 21:52:02

标签: python jinja2 wtforms

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

  

如果想要传递保留关键字的“class”参数   在一些基于python的模板语言中,人们可以这样做:

     

form.field(class_="text_blob")

很清楚form.field(class_="text_blob")在模板中使用是安全的。但form.field(class="text_blob")对我很有用。

是否意味着class未在Jinja2中保留,我不需要关心?或者我应该更正所有class=class_=以防止可能的问题吗?

1 个答案:

答案 0 :(得分:1)

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

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