flask-app
|_ app.py
|_ views.py
|_ models.py
|_ resources.py
~app.py
from flask import Flask
app = Flask(__name__)
import views, models, resources
if __name__ == '__main__':
app.run(debug=True)
~viewss.py
from app import app
@app.route('/')
def index():
home = "<h1>Welcome</h1>"
return home
由于某些原因,当我尝试访问localhost:5000时,我收到404找不到错误。
阅读这个答案(Can't route to "/login" with flask?),但我怀疑它与尾部斜杠有什么关系。
当我将路线粘贴回app.py后,它又开始工作了。为什么是这样?我该如何修理我的烧瓶应用程序?非常感谢任何帮助。
答案 0 :(得分:3)
您拥有issues with circular imports
您应该使用Blueprints
适合您的工作示例:
app.py
from flask import Flask
import views, models, resources
app = Flask(__name__)
app.register_blueprint(views.simple_page)
if __name__ == '__main__':
app.run(debug=True)
<强> views.py 强>
from flask import Blueprint
simple_page = Blueprint('simple_page', __name__)
@simple_page.route('/')
def index():
home = "<h1>Welcome</h1>"
return home
这也是一个更好的模式,因为现在所有的导入都位于顶部as they should be