Ive*_*ion 5 python jinja2 flask wtforms flask-wtforms
我正在关注本教程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 %}
Run Code Online (Sandbox Code Playgroud)
这里的 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>
Run Code Online (Sandbox Code Playgroud)
它最终生成了一个序列:
<dt><label for="email">Email Address</label>
<dd><input id="email" name="email" type="text" value="">
Run Code Online (Sandbox Code Playgroud)
我想放置更多参数,并以一种有点不同的方式,例如:
<input type="email" id="email" name="email" class="input-xlarge"
placeholder="Email Address" value="{{ form.email }}"
required>
Run Code Online (Sandbox Code Playgroud)
我如何修改
<dt>{{ field.label }}
<dd>{{ field(**kwargs)|safe }}
Run Code Online (Sandbox Code Playgroud)
实现这一目标?
从文档中您可以执行以下操作:
{{ form.email(class_="input-xlarge",
placeholder="Email Address",
value="testemail@testing.com") }}
Run Code Online (Sandbox Code Playgroud)
这将呈现:
{{ form.email(class_="input-xlarge",
placeholder="Email Address",
value="testemail@testing.com") }}
Run Code Online (Sandbox Code Playgroud)
只需将“testemail@testing.com”替换为 form.email(不带大括号),因为您已经在其中了。
| 归档时间: |
|
| 查看次数: |
7270 次 |
| 最近记录: |