Django custom 404 page not working

django, error-handling, http-status-code-404, python

Solution

When `DEBUG = False`, you can use `python manage.py runserver --insecure` to serve the static files during local development.

See more information in this answer.

Problem

So, in my projects I wanted to add a custom 404 error page, so I followed what I could find on the web, but nothing seemed to work for me. This is what I have on my files: settings.py ``` import os # Django settings for HogwartsMail project. PROJECT_PATH = os.path.realpath(os.path.dirname(__file__)) DEBUG = False TEMPLATE_DEBUG = DEBUG # Hosts/domain names that are valid for this site; required if DEBUG is False # See https://docs.djangoproject.com/en/1.5/ref/settings/#allowed-hosts ALLOWED_HOSTS = ["*"] ``` urls.py ``` urlpatterns = patterns('', ... ) handler404 = "HogwartsMail.views.error404" ``` views.py ``` def error404(request): return render(request,'404.html') ``` Whenever I try to enter a random url, though, instead of getting a 404 error, I get a Server Error (500). As I've said, i tried it many different ways, but none actually worked for me. Also, another problem I am having is that the pages I have load really slowly and they don't open the styling or images, so I assume that, when `DEBUG = False`, I need everything to be already online. Is that correct?

Original source

Related problems