Add custom error pages

This commit is contained in:
Stephan Porada 2019-07-09 15:39:28 +02:00
parent 26016458dd
commit 66d9ab8a93
4 changed files with 59 additions and 0 deletions

32
app/main/errors.py Normal file
View File

@ -0,0 +1,32 @@
from flask import render_template, request, jsonify
from . import main
@main.app_errorhandler(403)
def forbidden(e):
if request.accept_mimetypes.accept_json and \
not request.accept_mimetypes.accept_html:
response = jsonify({'error': 'forbidden'})
response.status_code = 403
return response
return render_template('403.html.j2'), 403
@main.app_errorhandler(404)
def page_not_found(e):
if request.accept_mimetypes.accept_json and \
not request.accept_mimetypes.accept_html:
response = jsonify({'error': 'not found'})
response.status_code = 404
return response
return render_template('404.html.j2'), 404
@main.app_errorhandler(500)
def internal_server_error(e):
if request.accept_mimetypes.accept_json and \
not request.accept_mimetypes.accept_html:
response = jsonify({'error': 'internal server error'})
response.status_code = 500
return response
return render_template('500.html.j2'), 500

View File

@ -0,0 +1,9 @@
{% extends "base.html.j2" %}
{% block title %}Opaque - Forbidden{% endblock %}
{% block page_content %}
<div class="page-header">
<h1>Forbidden</h1>
</div>
{% endblock %}

View File

@ -0,0 +1,9 @@
{% extends "base.html.j2" %}
{% block title %}Opaque - Page Not Found{% endblock %}
{% block page_content %}
<div class="page-header">
<h1>Not Found</h1>
</div>
{% endblock %}

View File

@ -0,0 +1,9 @@
{% extends "base.html.j2" %}
{% block title %}Opaque - Internal Server Error{% endblock %}
{% block page_content %}
<div class="page-header">
<h1>Internal Server Error</h1>
</div>
{% endblock %}