我試圖自定義基於this tutorial的表單模板。據我所知,render()
只是給標籤添加一些屬性。例如,我添加placeholder = "abc"
,它運作良好。jinja2表單渲染不允許包含「 - 」的屬性
{% call inserttourbus(id = "formAddNewRow") %}
<div class="fieldWrapper">
{% if inserttourbus['bustype'].label() %}Bus Type{% endif %}
{{ inserttourbus['bustype'].render(placeholder="abc")|safe }}
{% if inserttourbus['bustype'].errors() %}Not filled yet!{% endif %}
</div>
{% endcall %}
這裏是我的問題: - 我用bootstrap typeahead
我的模板,所以我需要將以下屬性添加到inserttourbus
文本
data-provide="typeahead" data-items="4" data-source='["Alabama","Alaska"]'
因此,這將成爲
{{ inserttourbus['bustype'].render(placeholder="abc", data-provide="typeahead", data-items="4", data-source='["Alabama","Alaska"]')|safe }}
但是jinja2引擎似乎不接受data-provide
,data-items
,等等,因爲它包含"-"
個字符。如果我將data-provide
更改爲dataprovide
,則jinja2引擎可以很好地呈現代碼。
但是,在bootstrap typeahead
javascript中,所有變量定義爲data-provide
,data-items
。如果我將它們更改爲dataprovide
,dataitems
,則javascipt停止工作。
請給我一個解決方案: - 如何使接受的Jinja2具有屬性「 - 」 - 其他的解決方案,建議
thanks。無論如何添加數據提供render()? – John
也許你可以插入一個unicode破折號:''N {HYPHEN-MINUS}' – voscausa
我改變數據提供給數據u'\ N {HYPHEN-MINUS}'提供,但它不起作用 – John