【发布时间】:2016-06-16 13:18:15
【问题描述】:
我正在关注这个教程http://flask.pocoo.org/docs/0.10/patterns/wtforms/
这是一个带有宏的示例 _formhelpers.html 模板:
{% 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 %}
这里是 register.html 模板,它利用了 _formhelpers.html 模板:
{% from "_formhelpers.html" import render_field %}
<form method=post action="/register">
<dl>
{{ render_field(form.username) }}
{{ render_field(form.email) }}
{{ render_field(form.password) }}
{{ render_field(form.confirm) }}
{{ render_field(form.accept_tos) }}
</dl>
<p><input type=submit value=Register>
</form>
它最终会生成一个序列:
<dt><label for="email">Email Address</label>
<dd><input id="email" name="email" type="text" value="">
我想以不同的方式添加更多参数,例如:
<input type="email" id="email" name="email" class="input-xlarge"
placeholder="Email Address" value="{{ form.email }}"
required>
如何修改
<dt>{{ field.label }}
<dd>{{ field(**kwargs)|safe }}
实现这个目标?
【问题讨论】:
-
你的标题与问题有什么关系?
-
发现不错,已修复。
-
field documentation 你可以做
form.email(style="style")我不确定它是否会传递html属性。我记得也有这个问题。但后来改了代码
标签: python flask jinja2 wtforms flask-wtforms