gpt4 book ai didi

python - 使用 Flask-WTForms 字段描述渲染 html 标题属性

转载 作者:太空狗 更新时间:2023-10-29 22:23:20 26 4
gpt4 key购买 nike

我正在使用 Flask-WFT documentation page 上的 render_field 宏在不同模板中以长格式呈现字段。

一个字段是这样定义的

year_built = IntegerField(label='Year Built', 
description='Year built, not the year of a major renovation.',
validators=[validators.NumberRange(
min=1700,
max=2012,
message="Between %(min)s and %(max)s")])

宏看起来像这样......

{% macro render_field(field) %}
<dt>{{ field.label }}
<dd>{{ field(**kwargs)|safe }}
{% if field.errors %}
<ul class=errors>
{% for error in field.errors %}
<li>{{ error }}</li>
{% endfor %}
</ul>
{% endif %}
</dd>
{% endmacro %}

在表单本身中,各个字段使用...放置

{{ render_field(form.year_built, class="input text")}}

我想不通的是在创建 HTML 字段 field(**kwargs) 的宏部分中使用字段对象中的描述的方法。我知道我可以将关键字传递给 render_field 函数,但我正在处理具有 100 多个字段的表单并在 forms.py 中设置描述,然后在 template.html 中再次将其设置为标题关键字似乎是不必要的补充。我真的很想使用宏将描述显示为标题(如果有)或者如果没有则只显示没有标题的字段。

有没有办法在 field() 函数运行之前向 kwargs 添加新条目?

最佳答案

所以这比我想象的要容易得多......

{% macro render_field(field) %}
<dt>{{ field.label }}
<dd>{{ field(title=field.description, **kwargs)|safe }}
{% if field.errors %}
<ul class=errors>
{% for error in field.errors %}
<li>{{ error }}</li>
{% endfor %}
</ul>
{% endif %}
</dd>
{% endmacro %}

关于python - 使用 Flask-WTForms 字段描述渲染 html 标题属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11996033/

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