flaskr.py
# flaskr.py from flask import Flask app = Flask(__name__) import views if __name__ == "__main__": app.run()
views.py
# views.py from flaskr import app from flask import render_template, g @app.route('/') def show_entries(): entries = None return render_template('show_entries.html', entries=entries)
python3 flaskr.py
任何人都可以告诉我为什么这不起作用,但如果我将整个应用程序移动到一个单独的包中,它可以完美无缺.
没有错误,除了像views.py这样的404之外什么都不会被忽略.我知道Flask,我正在尝试不同的东西来理解它是如何工作的.
谢谢!
如果要将视图移动到其他文件,则需要注册蓝图:
flask.py
# flaskr.py from flask import Flask from .views import my_view app = Flask(__name__) app.register_blueprint(my_view) if __name__ == "__main__": app.run()
views.py
# views.py from flaskr import app from flask import render_template, g my_view = Blueprint('my_view', __name__) @app.route('/') def show_entries(): entries = None return render_template('show_entries.html', entries=entries)
类似的问题:
使用Flask和非唯一处理程序名称构建URL
对于某些静态页面使用flask/blueprint