zoukankan      html  css  js  c++  java
  • falsk_蓝图(blueprint)

    蓝图(blueprint)

    随着业务代码的增加,将所有代码都放在单个程序文件中,是非常不合适的。这不仅会让代码阅读变得困难,而且会给后期维护带来麻烦。

    什么是蓝图

    蓝图:用于实现单个应用的视图、模板、静态文件的集合。

    蓝图就是模块化处理的类。

    简单来说,蓝图就是一个存储操作路由映射方法的容器,主要用来实现客户端请求和URL相互关联的功能。 在Flask中,使用蓝图可以帮助我们实现模块化应用的功能。

    蓝图的运行机制

    蓝图是保存了一组将来可以在应用对象上执行的操作。注册路由就是一种操作,当在程序实例上调用route装饰器注册路由时,这个操作将修改对象的url_map路由映射列表。当我们在蓝图对象上调用route装饰器注册路由时,它只是在内部的一个延迟操作记录列表defered_functions中添加了一个项。当执行应用对象的 register_blueprint() 方法时,应用对象从蓝图对象的 defered_functions 列表中取出每一项,即调用应用对象的 add_url_rule() 方法,这将会修改程序实例的路由映射列表。

    demo:

    # -*- encoding: utf-8 -*-
    # 使用蓝图需要依赖BLUEPRINT库
    from flask import Flask,Blueprint
    #导入自定义蓝图文件
    from day06_part import mypart
    app = Flask(__name__)
    app.config.from_pyfile('config.ini')
    #注册定义好的蓝图文件,给蓝图的url加前缀,若不加前缀则同路由将被重写
    app.register_blueprint(mypart,url_prefix='/henan')
    @app.route("/")
    def index():
    return "shouye"
    @app.route("/henan")
    def henan():
    return "henan"
    if __name__ == "__main__":
    app.run()
     
     
    # -*- encoding: utf-8 -*-
    from flask import Flask,Blueprint
    app = Flask(__name__)
    app.config.from_pyfile('config.ini')
    #注册蓝图
    mypart = Blueprint('mypart',__name__)
    @mypart.route("/")
    def index():
    return "hello"
    @mypart.route("/ni")
    def ni():
    return "ni"
  • 相关阅读:
    不可或缺 Windows Native (15)
    不可或缺 Windows Native (14)
    不可或缺 Windows Native (13)
    不可或缺 Windows Native (12)
    不可或缺 Windows Native (11)
    不可或缺 Windows Native (10)
    不可或缺 Windows Native (9)
    不可或缺 Windows Native (8)
    不可或缺 Windows Native (7)
    不可或缺 Windows Native (6)
  • 原文地址:https://www.cnblogs.com/xcsg/p/10181118.html
Copyright © 2011-2022 走看看