wtforms 不渲染表单域

wtforms not rendering form fields

我在使用 Flask 和 Wtforms 呈现表单域时遇到问题。显示输入按钮,但没有用于向表单输入数据的字段。这是模板:

<form method="POST" action="">
{{ form.csrf_token }}
{{ form.name.label }}
{{ form.street_address.label }}
<input type="submit" value="Go">

表单代码:

from flask_wtf import FlaskForm
from wtforms import StringField
from wtforms.validators import DataRequired

class deed_of_trust_form(FlaskForm):
    name = StringField('name', validators=[DataRequired()]),
    street_address = StringField('Street Address', validators=[DataRequired()])

和路线:

@app.route('/deed_of_trust', methods=('GET', 'POST'))
def deed_of_trust():
    form = forms.deed_of_trust_form()
    if form.validate_on_submit():
        flash("Success!")
    return render_template('deed_of_trust.html', form=form)

问题是您只显示了表单字段的 标签。您还需要从模板

中实际创建 <input> 字段
<form method="POST" action="">
    {{ form.csrf_token }}
    {{ form.name.label }} {{ form.name }} <br/>
    {{ form.street_address.label }} {{ form.street_address }} <br/>
    <input type="submit" value="Go">
</form>

the documentation 中查看更多详细信息。