A large number of problems that we have with our Django project at work turn out to be because of settings that are not what they should be (note that our settings are not straightforward to see with a glance at settings.py
since we use multiple settings files for production, dev, and common settings). I thought that it might be useful to have a Django management command that shows the settings in effect after all the settings files are processed.
It was super easy to write and is a tiny amount of code, but I have a feeling that this will quickly curtail a lot of problems.
Sample invocation:
I created a ticket to add this to Django core: https://code.djangoproject.com/ticket/17037 — we’ll see what happens.
An improved version of print_settings.py is in a pull request for django-extensions:
https://github.com/django-extensions/django-extensions/pull/144