gpt4 book ai didi

google-app-engine - jinja2 表单渲染不允许包含 "-"的属性

转载 作者:行者123 更新时间:2023-12-01 12:52:36 30 4
gpt4 key购买 nike

我正在尝试根据 this tutorial 自定义表单模板.据我了解,render() 只是将一些属性添加到标记中。例如,我添加 placeholder = "abc" 并且效果很好。

{% 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, so on因为它包含"-"字符。如果我将 data-provide 更改为 dataprovide,jinja2 引擎可以很好地呈现代码。

但是,在bootstrap typeahead javascript 中,所有变量都定义为data-providedata-items。如果我将它们更改为 dataprovidedataitems,javascipt 将停止工作。

请给我一个解决方案:- 如何让 jinja2 接受带有“-”的属性- 其他解决方案,建议

最佳答案

查看 this snippet在 Flask 中这样做。我想它对 Django 的工作方式是一样的;在临时字典中传递具有无效 Jinja2 (Python) 语法的 HTML 属性:

{{ inserttourbus['bustype'].render(placeholder="abc", 
**{'data-provide':'typeahead',
'data-items':'4',
'data-source':'["Alabama","Alaska"]'}) }}

关于google-app-engine - jinja2 表单渲染不允许包含 "-"的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14450812/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com