Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在Jinja中使用嵌入的HTML呈现WTForms SelectField选项_Python_Html_Flask_Jinja2_Wtforms - Fatal编程技术网

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”,标记(“选择选项”),