我创建了简单的多应用 Flask 站点。我将所有错误视图(404、501 等)移至 application errors
。但是当发生错误时,我只看到 Flask 的默认错误页面,而不是我自己的。项目结构为:
/site
|-> main.py
from flask import Flask
app = Flask(__name__)
app.config.from_pyfile('config.py')
import errors, account, mysite, blog
from errors.views import not_found
@app.route("/")
def index_view():
return "Welcome!"
@app.route("/about")
def about_view():
return "About"
if __name__ == "__main__":
app.run(debug=True)
|-> templates
|-> errors
|-> 404.html
|->errors
|-> __init__.py
from main import app
import errors.views
|-> views
from errors import app
from flask import render_template
@app.errorhandler(404)
def not_found(error):
return render_template('errors/404.html'), 404
如果我返回的内容errors/views.py
按main.py
预期开始工作并向我显示我的错误页面。