我正在使用Flask-WFT 文档页面 上提供的 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 中再次将其设置为标题关键字,这似乎是不必要的补充。我真的很想使用宏将描述显示为标题(如果它存在),或者仅显示没有标题的字段(如果没有)。
有没有办法kwargs
在 field() 函数运行之前添加新条目?