Я создал простую флэшку с несколькими приложениями. Я переместил все ошибки (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
он начинает работать, как ожидалось, и показать мне мою страницу ошибки.
Это очевидно, но не хорошее решение. Если я добавлю другое приложение в проект, я столкнусь с той же проблемой. Вот почему я хочу разделить ошибку события из проекта. –