Flask导入未注册路由

时间:2018-02-10 03:37:18

标签: python flask

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后,它又开始工作了。为什么是这样?我该如何修理我的烧瓶应用程序?非常感谢任何帮助。

1 个答案:

答案 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