zot*_*t24 6 python subdomain dispatcher flask
我的项目中有以下结构
\ myapp
\ app
__init__.py
views.py
run.py
Run Code Online (Sandbox Code Playgroud)
以下代码:
run.py
from app import create_app
if __name__ == '__main__':
app = create_app()
app.run(debug=True, host='0.0.0.0', port=5001)
Run Code Online (Sandbox Code Playgroud)
views.py
@app.route("/")
def index():
return "Hello World!"
Run Code Online (Sandbox Code Playgroud)
_ init _.py
from flask import Flask
def create_app():
app = Flask(__name__)
from app import views
return app
Run Code Online (Sandbox Code Playgroud)
我试图每次使用不同的文件factory design pattern
来创建我的app
对象config
,并且子域调度程序能够根据subdomain
用户请求创建和路由不同的对象.
我正在关注他们谈论的Flask文档,所有这些:
但我无法使它工作,似乎我的实际项目structure
没有办法将app
对象扔到我的views.py
投掷和它NameError
NameError:未定义名称"app"
在完成Miguel建议(使用Blueprint
)后,一切正常,这是最终的代码,工作:
_ init.py _
...
def create_app(cfg=None):
app = Flask(__name__)
from api.views import api
app.register_blueprint(api)
return app
Run Code Online (Sandbox Code Playgroud)
views.py
from flask import current_app, Blueprint, jsonify
api = Blueprint('api', __name__)
@api.route("/")
def index():
# We can use "current_app" to have access to our "app" object
return "Hello World!"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8982 次 |
最近记录: |