a.py
from flask import Flask, request
from flask import current_app as app
@app.route('/spider/', methods = ["GET"])
def ftimes():
return '1111111'
b.py
from flask import Flask, request
from flask import current_app as app
@app.route('/hello/', methods = ["GET"])
def hello():
return 'HELLO WORLD'
run.py
from flask import Flask,current_app
app = Flask(__name__)
if __name__ == '__main__':
with app.app_context():
import a
import b
app.run(host='0.0.0.0', port=5001)
如果把import a和import b手动推入上下文中,都写在run.py中会显得run.py过于拥挤,则可以多写一个create.py,把手动入栈的所有api文件都集合在一个文件,
下面改写run.py和新增create.py
create.py
from flask import Flask
def create_app():
# init app
app = Flask(__name__)
app.config['SECRET_KEY'] = "sfsdfdsrt4tg"
with app.app_context():
import a
import b
return app
run.py
from flask import Flask
from create import create_app
app = create_app()
if __name__ == '__main__':
with app.app_context():
app.run(host='0.0.0.0', port=5001)
学习with app.app_context(),参考链接app_context()上下文详解
还有两个对current_app的详解current_app详解
flask之current_app
讲的很清楚current_app
蓝图api