我创建了一个简单的多应用 Flask 网站。我将所有错误视图(404、501 等)移动到应用程序 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
中,它会按预期工作并显示我的错误页面。