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 中查看更多详细信息。
我在使用 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 中查看更多详细信息。