flask服務(wù) --藍(lán)圖進(jìn)一步模塊化:
注意: 路由函數(shù)名稱(chēng)在同一藍(lán)圖下不可以相同,不同模塊下也不可以
Script Demo:
config.py
# -*- coding:utf-8 -*-
# 一般大寫(xiě)
DEBUG = True
app_3.py
# -*- coding:utf-8 -*-
from app import create_app
app = create_app()
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5001)
proj_dir/app/__init__.py
# -*- coding:utf-8 -*-
from flask import Flask
def create_app():
app = Flask(__name__)
app.config.from_object('config')
# 藍(lán)圖注冊(cè)
register_blueprint(app)
return app
# 藍(lán)圖注冊(cè)
def register_blueprint(app):
# 注冊(cè) api
from app.api import api
app.register_blueprint(api)
proj_dir/app/api/__init__.py
# -*- coding:utf-8 -*-
from flask import Blueprint
'''
函數(shù)名稱(chēng)在同一藍(lán)圖下不能相同洪乍,跨模塊也不可以
'''
# 實(shí)例化藍(lán)圖對(duì)象
api = Blueprint('api', __name__)
# 導(dǎo)入
from app.api import goods, user
proj_dir/app/api/goods.py
# -*- coding:utf-8 -*-
from flask import jsonify
from . import api
@api.route('/api/getgoods')
def get_goods():
result = {
'computer': 16800,
'milk': 29.6
}
return jsonify(result)
@api.route('/api/getgoods2')
def get_goods2():
result = {
'computer': 16800,
'watermelon': 99.9
}
return jsonify(result)
proj_dir/app/api/user.py
# -*- coding:utf-8 -*-
from flask import jsonify
from . import api
@api.route('/api/getusers')
def get_users():
result = {
'host': '0.0.0.0',
'password': '123456'
}
return jsonify(result)
@api.route('/api/getusers2')
def get_users2():
result = {
'host': '0.0.0.1',
'password': 'qwerty'
}
return jsonify(result)