diff --git a/rad/urls.py b/rad/urls.py index a94d623e..660633c6 100644 --- a/rad/urls.py +++ b/rad/urls.py @@ -30,6 +30,10 @@ from longs import views as long_views from rest_framework import routers +from django.conf.urls import ( + handler400, handler403, handler404, handler500 +) + router = routers.DefaultRouter() router.register(r'rapids/exams', rapid_views.ExamViewSet, basename="rapid-exam") router.register(r'anatomy/exams', anatomy_views.ExamViewSet, basename="anatomy-exams") @@ -73,6 +77,11 @@ urlpatterns = [ path('tinymce/', include('tinymce.urls')), ] +#handler400 = 'my_app.views.bad_request' +#handler403 = 'my_app.views.permission_denied' +handler404 = 'views.page_not_found' +#handler500 = 'my_app.views.server_error' + urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) if settings.DEBUG: diff --git a/rad/views.py b/rad/views.py index 44f6032b..632bb059 100644 --- a/rad/views.py +++ b/rad/views.py @@ -52,6 +52,11 @@ from generic.models import QuestionNote import json +from django.shortcuts import ( +render_to_response +) +from django.template import RequestContext + def feedback_checker(user): return user.groups.filter(name="feedback_checker").exists() @@ -328,3 +333,14 @@ def view_feedback(request): "notes": feedback_notes, }, ) + +# HTTP Error 400 +def page_not_found(request): + response = render_to_response( + '404.html', + context_instance=RequestContext(request) + ) + + response.status_code = 404 + + return response \ No newline at end of file diff --git a/templates/404.html b/templates/404.html new file mode 100644 index 00000000..8dbde54a --- /dev/null +++ b/templates/404.html @@ -0,0 +1,6 @@ +{% extends 'base.html' %} + +{% block content %} +

404 error

+Page not found.... +{% endblock %} \ No newline at end of file