I am learning Flask and I have trouble understanding FlaskForm from Flask-WTF.
This example is from the book Flask Web Development: Developing Web Applications with Python, Miguel Grinberg.
Code below.
hello.py
class NameForm(FlaskForm):
name = StringField('What is your name?', validators=[DataRequired()])
submit = SubmitField('Submit')
@app.route('/', methods=['GET', 'POST'])
def index():
name = None
form = NameForm()
if form.validate_on_submit():
name = form.name.data
return render_template('index.html', form=form, name=name)
index.html
{% import "bootstrap/wtf.html" as wtf %}
{% block page_content %}
<div class="page-header">
<h1>Hello, {% if name %}{{ name }}{% else %}Stranger{% endif %}!</h1>
</div>
{{ wtf.quick_form(form) }}
{% endblock %}
This simple application get name from the user and displays a personalized message.
Suppose I have entered my name and click submit button. How it's possible that entered name is recived from the form object (instance of NameForm) and send to render
name = form.name.data
when before this, new instance of NameForm is assigned to the form variable?
form = NameForm()
question from:
https://stackoverflow.com/questions/65861937/flask-and-wtforms-how-flaskform-works 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…