Django DEBUG=False and ALLOWED_HOSTS

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', '127.0.0.1'] in your site’s settings.py and you should be all set.