2017-06-13 43 views
2

我有一个应用程序的结构,像这样:瓶进口程序

name 
    -app.py 
    -__init__.py 
    -folder1 
      -views.py 
      -models.py 
      -__init__.py 

我app.py的内容:

from flask import Flask 
from flask_cors import CORS 

app = Flask(__name__) 
CORS(app) 

if __name__ == '__main__': 
    app.run('0.0.0.0') 

而且初始化的.py在名称文件夹:

from app import app 

如何将此应用导入到views.py?目前,我正在使用

from name import app 
from models import Class1 
app.add_url_rule('/', view_func=Class1.as_view('class1')) 

,但后来当我运行应用程序时,它返回一个404错误。

回答

3

这是我做我的应用程序:

__init__.py

from .app import app 

with app.app_context(): 
    from .folder1 import models, views # noqa 

folder1/views.py

from flask import current_app as app 
# then use `app` as usual 
from .models import Class1 
app.add_url_rule('/', view_func=Class1.as_view('class1')) 

的 “app_context()” 注入当前app对象到current_app代理。阅读this了解机制。

另外it is recommended明确地使用相对导入(额外的点“.”)。