python3-flask-2.1将接口route分布到不同的文件-blueprints

随着项目扩增,接口越来越多,持续写在同一个文件中,代码的维护将越来越复杂。
使用(Blueprint)将接口的route函授分布到不同的文件中,减少代码行数。


  • 准备两个接口路径 (query / reply)
@app_test.route('/query/')
def query():
    return 'query'
 
@app_test.route('/reply/')
def reply():
    return 'reply'
  • 在'reply.py'文件中注册蓝图对象,并编写'reply'路径

cat reply.py

#!/usr/bin/env python3
# -*- coding:utf-8 -*-
 
from flask import Blueprint
 
app_reply = Blueprint("reply", __name__)
 
@app_reply.route('/reply/')
def reply():
    return 'reply'
 

引用'flask.Blueprint'功能模块
创建一个蓝图对象,在'reply'文件中,使用'app_reply'对象。
使用这个蓝图对象'app_reply'指定'route'路径等

  • 在'query.py'文件中编写'query'路径,并调用所有'app_reply'对象创建的路径

cat query.py

#!/usr/bin/env python3
# -*- coding:utf-8 -*-
 
from flask import Flask
from reply import app_reply
 
app = Flask(__name__)
app.register_blueprint(app_reply)
 
@app.route('/query/')
def query():
    return 'query'
 
if __name__ == '__main__':
    app.config["DEBUG"] = True
    app.run(host='0.0.0.0', port='80')

'from reply import app_reply' 加载'reply.py'文件中'app_reply'函数
'app.register_blueprint(app_reply)' 加载'app_reply'对象创建的路径

  • 执行、启动'query.py',就可以通过'query.py'的flask接口访问'reply.py'文件中路径
curl http://127.0.0.1/query/
 
curl http://127.0.0.1/reply/
原文地址:https://www.cnblogs.com/taoyuxuan/p/11842624.html