
38
|
第
4
章
果条件的计算结果为
True,那么渲染 if 和 else 指令之间的内容。如果条件的计算结果
为 False,则渲染 else 和 endif 指令之间的内容。在这个例子中,如果定义了 name 变量,
则渲染 Hello, {{ name }}!,否则渲染 Hello, Stranger!。内容区的第二部分使用 wtf.
quick_form() 函数渲染 NameForm 对象。
4.4
在视图函数中处理表单
在新版
hello.py
中,视图函数 index() 有两个任务:一是渲染表单,二是接收用户在表单
中填写的数据。示例
4-4
是更新后的 index() 视图函数。
示例
4-4
hello.py
:使用 GET 和 POST 请求方法处理
Web
表单
@app.route('/', methods=['GET', 'POST'])
def index():
name = None
form = NameForm()
if form.validate_on_submit():
name = form.name.data
form.name.data = ''
return render_template('index.html', form=form, name=name)
app.route 装饰器中多出的 methods 参数告诉
Flask
,在
URL
映射中把这个视图函数注册为
GET 和 POST 请求的处理程序。如果没指定 methods 参数,则只把视图函数注册为 ...