【发布时间】:2018-05-16 20:45:47
【问题描述】:
所以我有一个用 Flask 构建的网站。为了保持页面之间的外观和感觉,我使用 Jinja2 中的宏来呈现字段。我的问题是:如何在每个字段的基础上控制字段宽度?我有几个字段渲染得不够宽,无法显示最终出现在其中的数据。我知道这可以用 CSS 完成,但我想通过模板或 forms.py 只控制某些字段,而不要管其余的。
HTML 模板示例:
{% from "_forms.html" import render_field %}
{% extends "base.html" %}
{{ render_field(form.createDate) }}
<br>
{{ render_field(form.changeID) }}
<br>
{{ render_field(form.tasID) }}
<br>
{{ render_field(form.implementor) }}
<br>
{{ form.submit }}
{% endblock %}
Jinja2 宏:
{% macro render_field(field) %}
<hr class="forms">
{{ field.label }}
{% if field.flags.required %}
*
{% endif %}
<br>
{{ field(**kwargs)|safe }}
{% if field.errors %}
{% for error in field.errors %}
<span class="flash">{{ error }}</span><br>
{% endfor %}
{% endif %}
{% endmacro %}
我在 html 模板中尝试过的示例:
{{ render_field(form.customer, form_type="horizontal", horizontal_columns=('lg', 6, 3)) }}
{{ render_field(form.customer, horizontal_columns=('lg', 2, 6)) }}
【问题讨论】: