美文网首页web服务器
Blueprint(蓝图)

Blueprint(蓝图)

作者: GHope | 来源:发表于2018-10-11 11:51 被阅读13次

    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))
    

    相关文章

      网友评论

        本文标题:Blueprint(蓝图)

        本文链接:https://www.haomeiwen.com/subject/lwojaftx.html