diff --git a/templates/400.html b/templates/400.html
new file mode 100644
index 0000000..3560652
--- /dev/null
+++ b/templates/400.html
@@ -0,0 +1,8 @@
+{% extends "base.html" %}
+
+{% load i18n %}
+
+{% block content %}
+
{% trans "Bad request" %}
+ {% blocktrans %}Sorry, your request was bad. Don't know what could be wrong. An email has been sent to webmasters with the details of the error. You can now drink a coke.{% endblocktrans %}
+{% endblock %}
\ No newline at end of file
diff --git a/templates/403.html b/templates/403.html
new file mode 100644
index 0000000..317865f
--- /dev/null
+++ b/templates/403.html
@@ -0,0 +1,13 @@
+{% extends "base.html" %}
+
+{% load i18n %}
+
+{% block content %}
+ {% trans "Permission denied" %}
+ {% blocktrans %}You don't have the right to perform this request.{% endblocktrans %}
+ {% if exception %}
+
+ {% trans "Exception message:" %} {{ exception }}
+
+ {% endif %}
+{% endblock %}
\ No newline at end of file
diff --git a/templates/404.html b/templates/404.html
new file mode 100644
index 0000000..8477f91
--- /dev/null
+++ b/templates/404.html
@@ -0,0 +1,13 @@
+{% extends "base.html" %}
+
+{% load i18n %}
+
+{% block content %}
+ {% trans "Page not found" %}
+ {% blocktrans %}The requested path {{ request_path }}
was not found on the server.{% endblocktrans %}
+ {% if exception != "Resolver404" %}
+
+ {% trans "Exception message:" %} {{ exception }}
+
+ {% endif %}
+{% endblock %}
\ No newline at end of file
diff --git a/templates/500.html b/templates/500.html
new file mode 100644
index 0000000..7cc0063
--- /dev/null
+++ b/templates/500.html
@@ -0,0 +1,8 @@
+{% extends "base.html" %}
+
+{% load i18n %}
+
+{% block content %}
+ {% trans "Server error" %}
+ {% blocktrans %}Sorry, an error occurred when processing your request. An email has been sent to webmasters with the detail of the error, and this will be fixed soon. You can now drink a beer.{% endblocktrans %}
+{% endblock %}
diff --git a/tfjm/urls.py b/tfjm/urls.py
index 7e6622a..97c2280 100644
--- a/tfjm/urls.py
+++ b/tfjm/urls.py
@@ -17,6 +17,7 @@ from django.conf import settings
from django.conf.urls.static import static
from django.contrib import admin
from django.urls import path, include
+from django.views.defaults import bad_request, permission_denied, page_not_found, server_error
from django.views.generic import TemplateView
from member.views import DocumentView
@@ -38,3 +39,8 @@ urlpatterns = [
# urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
+
+handler400 = bad_request
+handler403 = permission_denied
+handler404 = page_not_found
+handler500 = server_error