diff options
| -rw-r--r-- | app.py | 13 | ||||
| -rw-r--r-- | templates/error.html | 8 |
2 files changed, 17 insertions, 4 deletions
@@ -70,7 +70,7 @@ def context_processor(): @app.before_request def before_request(): - if request.endpoint == "static": + if not request.endpoint or request.endpoint == "static": return db = get_db() cur = db.cursor() @@ -104,9 +104,14 @@ def before_request(): @app.errorhandler(HTTPException) -def handle_bad_request(e): - # TODO: Create an actual error page. - return e +def handle_bad_request(error): + if error.code == 501: + if "username" in session: + flash("This content requires additional permissions to view.") + else: + flash("You must be logged in to access this content.") + return redirect(url_for("login")) + return render_template("error.html", error=error), error.code @app.route("/") diff --git a/templates/error.html b/templates/error.html new file mode 100644 index 0000000..d7f3218 --- /dev/null +++ b/templates/error.html @@ -0,0 +1,8 @@ +{% extends "base.html" %} + +{% block content %} +<main class="centered"> + <h2>Error {{ error.code }}: {{ error.name }}</h2> + <a href="/">Return to the Main Page</a> +</main> +{% endblock %}
\ No newline at end of file |