zoukankan      html  css  js  c++  java
  • flask Blueprint蓝图

    首先要了解蓝图的作用,模拟场景在团队开发过程中团队每个人都在写自己负责的功能模块,那多个py文件模板,我们如果完成后需要运行是不是要运行多个服务?但是我们的项目是一个整体,而不是零散的,所以我们怎么把很多py文件用一个run()启动呢,也就是怎么把他们构造在一起直接启动整体呢。其实并不难以前我们是不是也接触过类似的比如 Flask里的网页模板(render_template)中继承(Block)包含(include)机制,同理 Blueprint 蓝图也是类似的功能。

    首先是主框架:

    #使用蓝图需要依赖Blueprint库
    from flask import Flask,Blueprint
    
    #导入自定义的蓝图文集,from py文件名 import创建好的蓝图名
    from day6_part import mypart
    
    app = Flask(__name__)
    
    app.config.from_pyfile('config.ini')
    
    #注册定义好的蓝图文件,url_prefix给蓝图url加前缀,这里的前缀不是必须但是要和主框架的路由区分开不然会跟主框架路由冲突
    app.register_blueprint(mypart,url_prefix='/part')
    
    @app.route('/')
    def index():
        return "这是首页"
    
    if __name__ == "__main__":
        app.run()

    需要植入到主框架的功能模块py文件

    from flask import Flask,Blueprint
    
    app = Flask(__name__)#注册蓝图,主框架调用的是这里赋值的变量名Blueprint内传入以后会用到的蓝图名和Flask对象的内置变量
    mypart = Blueprint('mypart',__name__)
    
    #蓝图文件不需要导入配置文件只要主框架配置好即可
    # 这里我们就直接取装饰蓝图即可 @mypart.route('/') def index(): return "这里是蓝图的副功能"
  • 相关阅读:
    LeetCode 面试题 08.02. 迷路的机器人
    LeetCode 96. 不同的二叉搜索树
    LeetCode 198 打家劫舍
    LeetCode 931 下降路径最小和
    Anaconda的安装及使用教程
    2020-8
    gdb与core dump
    实用linux命令
    offer_JZ25
    javaweb学习笔记整理补课
  • 原文地址:https://www.cnblogs.com/Niuxingyu/p/10179800.html
Copyright © 2011-2022 走看看