Python Flask Blueprint 蓝图

本篇来了解一下 Flask 中 Blueprint 蓝图,什么蓝图 。。就是一个分模块的扩展而已,用来让不同的 业务模块api 分到不同的python文件中 而已,和 Spring mvc 的 class 级别 的@RequestMapping(“/”) 差不多。。

前因:

为什么要引入 Blueprint 蓝图呢? 因为如果默认把API接口都写到 一个py 文件里面 那么这个文件会越来越复杂,会越来越臃肿 导致 无法维护 ,所以按照正常的开发逻辑 也需要进行模块的划分 ,那么就需要引入 Blueprint

1.安装 Blueprint

需要先在环境中 使用 pip 安装一下 Blueprint 扩展

pip install Blueprint

2.编写Flask 入口 py文件

from flask import Flask


app = Flask(__name__)

@app.route('/')
def helloworld():
    return 'Hello world python flask'
  
# 新版本应该是 不支持这样启动了
# if __name__ == '__main__':
#     app.run()

3.编写User模块 user.py文件

根据业务 可以创建新的模块 然后通过Blueprint 去注册路由

from flask import Blueprint

user = Blueprint('user',__name__)

@user.route('/user/username')
def username():
    return 'get username : johnny'

    

4.Blueprint注册到 Flask app上

在入口文件中 把刚刚创建的 Blueprint 注册上去

from flask import Flask

#引入 刚刚创建的 blueprint
from user import user

app = Flask(__name__)
#注册到 flask app上
app.register_blueprint(user)

@app.route('/')
def helloworld():
    return 'Hello world python flask'

# if __name__ == '__main__':
#     app.run()

5.验证

访问:/user/username 得到如下:

访问: / 得到如下:

总结:

使用 Blueprint很简单 按照下面的流程

  1. pip install Blueprint

  2. 创建 新模块文件,在其中创建Blueprint对象 如:

    # Blueprint两个参数('蓝图名字',蓝图所在位置')
    user = Blueprint('user',__name__) 
    
  3. Blueprint注册到 Flask app上

    #引入 刚刚创建的 blueprint
    from user import user
    app = Flask(__name__)
    
    app.register_blueprint(user)
    

可以把Blueprint 理解为 Spring mvc 的 Class 级别 的@RequestMapping(“/user”) 差不多。。

欢迎大家访问 个人博客 Johnny小屋
欢迎关注个人公众号