1. 什么是蓝图
在Flask项目中可以用Blueprint(蓝图)实现模块化的应用,使用蓝图可以让应用层次更清晰,开发者更容易去维护和开发项目。蓝图将作用于相同的URL前缀的请求地址,将具有相同前缀的请求都放在一个模块中,这样查找问题,一看路由就很快的可以找到对应的视图,并解决问题了。
2. 使用蓝图
2.1 安装
pip install flask_blueprint
2.2 实例化蓝图应用
blue = Blueprint('app', __name__)
注意:Blueprint中传入了两个参数,第一个是蓝图的名称,第二个是蓝图所在的包或模块,name代表当前模块名或者包名
2.3 注册
app = Flask(__name__)
# 绑定蓝图blue和app的关系
app.register_blueprint(blueprint=blue,url_prefix='/app')
注意:第一个参数即我们定义初始化定义的蓝图对象,第二个参数url_prefix表示该蓝图下,所有的url请求必须以/app开始。这样对一个模块的url可以很好的进行统一管理
3. url_for反向解析
语法:
url_for('蓝图中定义的第一个参数.函数名', 参数名=value)
定义跳转:
@blue.route('/redirect/')
def redirect_hello():
# 实现跳转
# 1、硬编码
# return redirect('/app/')
# 2、反向解析redirect(url_for('蓝图别名.跳转的函数名'))
# return redirect(url_for('app.hello_world'))
return redirect(url_for('app.get_id', id=3))
网友评论