[Fixed]-Heroku Django DEBUG Setting not applied


Does your django settings.py file even look in the environment?

It does not, by default, care about anything you’ve set in the environment (via “config:set”). If you’re “casting” the environment to a boolean, make sure you’re casting it correctly. bool(‘False’) is still True.

It’s simplest just to detect if the environment variable exists so you don’t have to worry about type casting or specific formats of the configuration.

DEBUG = os.environ.get('DEBUG', False)

To disable debug, remove the variable from the environment instead of trying to type cast… it just seems much more reliable and fool proof. config:unset DEBUG


The problem is that the environment variable is not a boolean, rather a string.
So do place below line in settings.py

DEBUG = (os.environ.get('DEBUG_VALUE') == 'True')

Leave a comment