From 6f00da37b969cb4a688f1c16ce89c9407ed1983a Mon Sep 17 00:00:00 2001 From: sonny Date: Sun, 19 Apr 2020 20:59:14 +0200 Subject: [PATCH] Resolve "Error pages" --- src/newsreader/core/views.py | 18 +++++++++++++++++- src/newsreader/templates/400.html | 18 ++++++++++++++++++ src/newsreader/templates/403.html | 18 ++++++++++++++++++ src/newsreader/templates/404.html | 18 ++++++++++++++++++ src/newsreader/templates/500.html | 18 ++++++++++++++++++ src/newsreader/urls.py | 5 +++++ 6 files changed, 94 insertions(+), 1 deletion(-) create mode 100644 src/newsreader/templates/400.html create mode 100644 src/newsreader/templates/403.html create mode 100644 src/newsreader/templates/404.html create mode 100644 src/newsreader/templates/500.html diff --git a/src/newsreader/core/views.py b/src/newsreader/core/views.py index 60f00ef..dab9fb1 100644 --- a/src/newsreader/core/views.py +++ b/src/newsreader/core/views.py @@ -1 +1,17 @@ -# Create your views here. +from django.shortcuts import render + + +def bad_request(request, exception): + return render(request, "400.html", status=400) + + +def permission_denied(request, exception): + return render(request, "403.html", status=403) + + +def not_found(request, exception): + return render(request, "404.html", status=404) + + +def server_error(request): + return render(request, "500.html", status=500) diff --git a/src/newsreader/templates/400.html b/src/newsreader/templates/400.html new file mode 100644 index 0000000..8286da1 --- /dev/null +++ b/src/newsreader/templates/400.html @@ -0,0 +1,18 @@ +{% extends "base.html" %} +{% load static i18n %} + +{% block content %} +
+
+
+

{% trans "Bad request" %}

+
+
+

+ Head back to the login page +

+
+ +
+{% endblock %} diff --git a/src/newsreader/templates/403.html b/src/newsreader/templates/403.html new file mode 100644 index 0000000..d9a8fa7 --- /dev/null +++ b/src/newsreader/templates/403.html @@ -0,0 +1,18 @@ +{% extends "base.html" %} +{% load static i18n %} + +{% block content %} +
+
+
+

{% trans "Permission denied" %}

+
+
+

+ Head back to the login page +

+
+ +
+{% endblock %} diff --git a/src/newsreader/templates/404.html b/src/newsreader/templates/404.html new file mode 100644 index 0000000..1550ed9 --- /dev/null +++ b/src/newsreader/templates/404.html @@ -0,0 +1,18 @@ +{% extends "base.html" %} +{% load static i18n %} + +{% block content %} +
+
+
+

{% trans "Page not found" %}

+
+
+

+ Head back to the login page +

+
+ +
+{% endblock %} diff --git a/src/newsreader/templates/500.html b/src/newsreader/templates/500.html new file mode 100644 index 0000000..31dcfd7 --- /dev/null +++ b/src/newsreader/templates/500.html @@ -0,0 +1,18 @@ +{% extends "base.html" %} +{% load static i18n %} + +{% block content %} +
+
+
+

{% trans "Server error" %}

+
+
+

+ Head back to the login page +

+
+ +
+{% endblock %} diff --git a/src/newsreader/urls.py b/src/newsreader/urls.py index 3b01563..c609d91 100644 --- a/src/newsreader/urls.py +++ b/src/newsreader/urls.py @@ -30,6 +30,11 @@ urlpatterns = [ path("api/auth/", include("rest_framework.urls"), name="rest_framework"), ] +handler400 = "newsreader.core.views.bad_request" +handler403 = "newsreader.core.views.permission_denied" +handler404 = "newsreader.core.views.not_found" +handler500 = "newsreader.core.views.server_error" + if settings.DEBUG: import debug_toolbar