Jinja,Flask和WTForms:如何在字段中传递参数? [英] Jinja, Flask and WTForms: how to pass parameters in field?

查看:112
本文介绍了Jinja,Flask和WTForms:如何在字段中传递参数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在按照本教程 http://flask.pocoo.org/docs/0.10/patterns/wtforms/

这是一个带有宏的_formhelpers.html模板示例:

Here’s an example _formhelpers.html template with a macro:

{% 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 %}

以下是使用_formhelpers.html模板的register.html模板:

Here the register.html template which takes advantage of the _formhelpers.html template:

{% 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>

最终它会生成一个序列:

It ends up generating a sequence of those:

<dt><label for="email">Email Address</label>
<dd><input id="email" name="email" type="text" value="">

我想添加更多的参数,并采用一些不同的方式,例如:

I want to put more parameters and in a bit different fashion like:

      <input type="email" id="email" name="email" class="input-xlarge"
        placeholder="Email Address" value="{{ form.email }}"
        required>

我如何修改

  <dt>{{ field.label }}
  <dd>{{ field(**kwargs)|safe }}

要实现这一目标?

推荐答案

来自

Coming from the documentation you can do:

{{ form.email(class_="input-xlarge", 
              placeholder="Email Address",
              value="testemail@testing.com") }}

哪个将呈现:

<input type="email" id="email" name="email" class="input-xlarge"
        placeholder="Email Address" value="testemail@testing.com"
        required>

只需将"testemail@testing.com"替换为form.email,而不用大括号,因为您已经在其中.

Just replace "testemail@testing.com" with form.email without braces as you are already inside them.

这篇关于Jinja,Flask和WTForms:如何在字段中传递参数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆