2017-02-01 16 views
-2

У меня возникли проблемы с полями формы рендеринга с использованием Flask и Wtforms. Кнопка ввода отображается, но нет полей для ввода данных в форму. Вот шаблон: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) 

ответ

1

Вопрос заключается в том, что вы только показывая метку полей формы , Вы действительно хотите создать <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.

+0

спасибо. Кроме того, у меня была запятая после моего первого поля формы, которое вызывало проблемы. – freefly0313