随着项目扩增,接口越来越多,持续写在同一个文件中,代码的维护将越来越复杂。
使用(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/