error pages

This commit is contained in:
2025-06-06 10:35:56 +02:00
parent d619283d09
commit 8509b0567b
9 changed files with 164 additions and 0 deletions

37
app.py
View File

@@ -53,6 +53,15 @@ def create_app():
db.session.commit()
return dict(config=app.config, site_settings=site_settings)
@app.context_processor
def inject_unread_notifications():
from flask_login import current_user
from utils import get_unread_count
if current_user.is_authenticated:
unread_count = get_unread_count(current_user.id)
return {'unread_notifications': unread_count}
return {'unread_notifications': 0}
@app.template_filter('asset_version')
def asset_version_filter(filename):
"""Template filter to get version hash for static assets"""
@@ -134,6 +143,34 @@ def create_app():
app = create_app()
@app.errorhandler(404)
def page_not_found(e):
from flask import render_template
return render_template('common/404.html'), 404
@app.errorhandler(403)
def forbidden(e):
from flask import render_template
return render_template('common/403.html'), 403
@app.errorhandler(401)
def unauthorized(e):
from flask import render_template
return render_template('common/401.html'), 401
@app.errorhandler(400)
def bad_request(e):
from flask import render_template
return render_template('common/400.html'), 400
@app.errorhandler(500)
def internal_server_error(e):
from flask import render_template
import traceback
error_details = f"{str(e)}\n\n{traceback.format_exc()}"
app.logger.error(f"500 error: {error_details}")
return render_template('common/500.html', error=error_details), 500
@app.route('/uploads/profile_pics/<filename>')
def profile_pic(filename):
return send_from_directory('/app/uploads/profile_pics', filename)