python - Jinja、Flask 和 WTForms : how to pass parameters in field?

标签 python flask jinja2 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 %}

这里是 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 }}

为了达到那个目的?

最佳答案

来自documentation你可以这样做:

{{ 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,因为您已经在其中了。

关于python - Jinja、Flask 和 WTForms : how to pass parameters in field?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35768370/

相关文章:

python - Bash 脚本还有什么用处吗?

python - 如何杀死多进程中的所有 Pool worker?

python - 如何在 flask 中写复选框?

python - 无法在从 python 模块创建的 pip 包中使用 jinja2 模板

python - 关于变量作用域的棘手 Python 问题

python - Pyinstaller 缺少 dll,exe 无法运行

python - 读取输入文件并在 flask 中处理

python - 部署到 Heroku 时,如何在 Procfile 中使用 Gunicorn 导入自定义模块?

javascript - 使用 Flask 时导入 javascript 的正确方法

python - 神社 : How to override variables in super block?