What could cause a Django error when debug=False that isn't there when debug=True What could cause a Django error when debug=False that isn't there when debug=True django django

What could cause a Django error when debug=False that isn't there when debug=True


Just to say, I ran into a similar error today and it's because Django 1.5 requires the ALLOWED_HOSTS parameter in the settings.You simply need to place this row to make it work ;)

...ALLOWED_HOSTS = '*'...

However, be aware that you need to set this parameter properly according to your actual host(s) (https://docs.djangoproject.com/en/dev/ref/settings/#allowed-hosts)!

Values in this list can be fully qualified names (e.g. 'www.example.com'), in which case they will be matched against the request’s Host header exactly (case-insensitive, not including port). A value beginning with a period can be used as a subdomain wildcard: '.example.com' will match example.com, www.example.com, and any other subdomain of example.com. A value of '*' will match anything; in this case you are responsible to provide your own validation of the Host header (perhaps in a middleware; if so this middleware must be listed first in MIDDLEWARE_CLASSES).

So basically it's better for you to use this type of configuration once you're in production:

...ALLOWED_HOSTS = [    '.yourdomain.com',]...

thanks to gertvdijk for pointing this out


This happens if you have a circular import in one of your files. Check and see if you are importing something from Project and then importing something in Project from the original file that originally imported Project.

I ran into this same problem recently, and rearranging some of my imports helped fix the problem.


This can also happen if you do not have both a 500.html and 404.html template present. Just the 500 isn't good enough, even for URIs that won't produce a 404!