From 745a2d188b0982eea8b200513d3ae4e62d4b13bc Mon Sep 17 00:00:00 2001 From: m5ka Date: Wed, 27 Mar 2024 19:17:50 +0000 Subject: [PATCH] =?UTF-8?q?feat:=20=E2=9D=8C=20improve=20error=20pages?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- moku/config/urls.py | 4 +++ moku/templates/moku/error/403.jinja | 8 +++++ moku/templates/moku/error/404.jinja | 12 +++++++ moku/templates/moku/error/500.html | 56 +++++++++++++++++++++++++++++ moku/views/error.py | 13 +++++++ 5 files changed, 93 insertions(+) create mode 100644 moku/templates/moku/error/403.jinja create mode 100644 moku/templates/moku/error/404.jinja create mode 100644 moku/templates/moku/error/500.html create mode 100644 moku/views/error.py diff --git a/moku/config/urls.py b/moku/config/urls.py index fb0a39f..061cfb0 100644 --- a/moku/config/urls.py +++ b/moku/config/urls.py @@ -23,6 +23,10 @@ from moku.views.user import ( UserJSONView, ) +handler403 = "moku.views.error.forbidden" +handler404 = "moku.views.error.not_found" +handler500 = "moku.views.error.server_error" + urlpatterns = [ path("admin/", admin.site.urls), path("", FeedView.as_view(), name="feed"), diff --git a/moku/templates/moku/error/403.jinja b/moku/templates/moku/error/403.jinja new file mode 100644 index 0000000..b9522e7 --- /dev/null +++ b/moku/templates/moku/error/403.jinja @@ -0,0 +1,8 @@ +{% extends "moku/base.jinja" %} + +{% block content %} +
+

❌ {% trans %}it doesn't look like you should be there!{% endtrans %}

+

{% trans %}take a look at the links at the top of the page to see if you can end up somewhere you're supposed to be. :){% endtrans %}

+
+{% endblock content %} \ No newline at end of file diff --git a/moku/templates/moku/error/404.jinja b/moku/templates/moku/error/404.jinja new file mode 100644 index 0000000..686059c --- /dev/null +++ b/moku/templates/moku/error/404.jinja @@ -0,0 +1,12 @@ +{% extends "moku/base.jinja" %} + +{% block content %} +
+

🧭 {% trans %}are you lost?{% endtrans %}

+

{% trans %}it doesn't look like this is a page that exists, sorry.{% endtrans %}

+

{% trans %}the links at the top of the page should help you get back to where you want to be!{% endtrans%}

+

{% trans email="m5ka@posteo.de" %} + do you think something might be wrong? send me an email at {{ email }}{% endtrans %} +

+
+{% endblock content %} \ No newline at end of file diff --git a/moku/templates/moku/error/500.html b/moku/templates/moku/error/500.html new file mode 100644 index 0000000..b63350e --- /dev/null +++ b/moku/templates/moku/error/500.html @@ -0,0 +1,56 @@ + + + + + + not found — moku.blog + + + +

🍔 moku.blog

+

❌ server error

+

oops! it looks like something's gone a bit wrong.

+

if the issue keeps happening, please get in touch: m5ka@posteo.de

+

get back to where you need to be...

+ + + \ No newline at end of file diff --git a/moku/views/error.py b/moku/views/error.py new file mode 100644 index 0000000..5c763fe --- /dev/null +++ b/moku/views/error.py @@ -0,0 +1,13 @@ +from django.shortcuts import render + + +def forbidden(request, exception): + return render(request, "moku/error/403.jinja") + + +def not_found(request, exception): + return render(request, "moku/error/404.jinja") + + +def server_error(request): + return render(request, "moku/error/500.html")