簡體   English   中英

在Jinja中使用嵌入式HTML呈現WTForms SelectField選項

[英]Render WTForms SelectField options with embedded HTML in Jinja

我正在嘗試在SelectField中創建一個選項,該選項在標簽中使用嵌入的span 但是,標簽會在字段中進行轉義並顯示。

在Flask WTForms字段中嘗試過嵌入HTML標記,但在這種情況下它不起作用(可能是因為需要轉義的文本在列表中)。

是否可以在不編寫自己的渲染器的情況下在選項標簽中呈現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()])

與您鏈接的問題類似,您需要讓Jinja知道您呈現的值是可信的,不應該被轉義。 由於您不直接控制選項的呈現,因此您無法使用|safe過濾器,而是在定義值時需要執行此操作。 使用Markup類將字符串標記為Python中的安全字符串。

from jinja2 import Markup

('0', Markup('Select an option <span class="caret"></span>')),

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM