I’ve been working with Django a bit recently on a new project, and testing out 404/500 templates in the tutorial by switching to DEBUG=False was actually resulting in 500 errors on every page. Since it was a local tutorial installation, I didn’t care to set up emailing of errors. Luckily, this post on StackOverflow showed me how to set up a quick local error log, and I was able to find the issue right away.

The recent Django security release that clamped down ALLOWED_HOSTS to a whitelist approach hasn’t yet filtered down to become part of the Django tutorial. However, as of that release, setting ALLOWED_HOSTS is a required part of setup, and deploying a server with DEBUG=False will throw server errors if not set. If you’re working with the tutorials, set ALLOWED_HOSTS = ['localhost', ''] in your site’s and you should be all set.

One thought on “Django DEBUG=False and ALLOWED_HOSTS

  1. Thank you for this one!! I’ve been trying to understand why I keep getting 500 pages on my local machine for the last ~2 hours.. Great help! 🙂

Comments are closed.