2017-06-13 35 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明確地使用相對導入(額外的點「.」)。