当一个项目需要注册多个路由时,都放在启动文件中会使代码非常复杂,不好维护,如下图
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'index'
@app.route('/list')
def list():
return 'list'
@app.route('/detail')
def detail():
return 'detail'
@app.route('/')
def admin_home():
return 'admin_home'
@app.route('/new')
def new():
return 'new'
@app.route('/edit')
def edit():
return 'edit'
将他们拆分到文件中又会报错,这是就需要蓝图来进行模块处理。
1.在__init__.py文件创建蓝图对象
试图函数在不同的模块中时要分别创建蓝图对象
蓝图需要两个参数,‘admin’为蓝图的名称可以自定义。
2.在视图文件中注册蓝图路由
3.在启动文件中注册蓝图并将模块中注册的蓝图导入
FlaskBlog.py文件是项目的启动文件,admin和user是两个模块,要为两个模块都创建蓝图。
init.py文件
试图文件
启动文件
运行结果