Python 在Jinja中使用嵌入的HTML呈现WTForms SelectField选项
我试图在Python 在Jinja中使用嵌入的HTML呈现WTForms SelectField选项,python,html,flask,jinja2,wtforms,Python,Html,Flask,Jinja2,Wtforms,我试图在SelectField中创建一个选项,该选项使用标签中嵌入的span。但是,该标记将转义并在字段中按字面显示 我已经试过了,但在这种情况下不起作用(可能是因为需要转义的文本在列表中) 是否可以在不编写自己的呈现器的情况下呈现选项标签中未跳过的HTML class myForm(Form): myChoices = [ ('0','Select an option <span class="caret"></span>'),
SelectField
中创建一个选项,该选项使用标签中嵌入的span
。但是,该标记将转义并在字段中按字面显示
我已经试过了,但在这种情况下不起作用(可能是因为需要转义的文本在列表中)
是否可以在不编写自己的呈现器的情况下呈现选项标签中未跳过的HTML
class myForm(Form):
myChoices = [
('0','Select an option <span class="caret"></span>'),
('1','Option 1'),
('2','Option 2')
]
optionSelect = SelectField('Select', choices=myChoices, validators=[Required()])
类myForm(表单):
我的选择=[
(“0”,“选择一个选项”),
(‘1’,‘选项1’),
(‘2’、‘选项2’)
]
optionSelect=SelectField('Select',choices=myChoices,validators=[Required()]))
与您链接的问题类似,您需要让Jinja知道您呈现的值是可信的,不应该转义。由于不直接控制选项的呈现,因此不能使用|safe
过滤器,而需要在定义值时执行此操作。在Python中,使用该类将字符串标记为安全的
from jinja2 import Markup
('0', Markup('Select an option <span class="caret"></span>')),
来自jinja2导入标记的
(“0”,标记(“选择选项”),