Flask 表单处理与验证全攻略
1. 创建新条目视图
在开发 Web 应用时,我们常常需要创建新的条目。为了实现这一功能,我们要在详情视图定义之上添加一个名为 create
的新视图,该视图可通过访问 /entries/create/
来调用。之所以将其放在详情视图之上,是因为 Flask 会按照路由定义的顺序搜索 URL 路由。若 /entries/create/
看起来很像条目详情 URL(比如条目标题为 create
),若详情路由先定义,Flask 就会在此停止匹配,而无法到达创建路由。
以下是创建视图的代码:
@entries.route('/create/')
def create():
form = EntryForm()
return render_template('entries/create.html', form=form)
这段代码的逻辑很简单,它实例化了一个表单并将其传递到模板上下文中。
2. 创建 HTML 模板
接下来,我们要为新表单构建一个基本模板。在其他条目模板旁边创建一个名为 create.html
的新模板,其相对于应用目录的路径应为 entries/templates/entries/create.html
。我们将扩展基础模板并覆盖内容块以显示表单。由于使用了 Bootstrap,我们会使用特殊的 C