Reputation: 12153
When I run python manage.py shell
, I can print out the python path
>>> import sys
>>> sys.path
What should I type to introspect all my django settings ?
Upvotes: 73
Views: 48257
Reputation: 11464
In case a newbie stumbles upon this question wanting to be spoon fed the way to print out the values for all settings:
def show_settings():
from django.conf import settings
for name in dir(settings):
print(name, getattr(settings, name))
Upvotes: 20
Reputation: 1693
In your shell, you can call Django's built-in diffsettings:
from django.core.management.commands import diffsettings
output = diffsettings.Command().handle(default=None, output="hash", all=False)
Upvotes: 3
Reputation: 1050
I know that this is an old question, but with current versions of django (1.6+), you can accomplish this from the command line the following way:
python manage.py diffsettings --all
The result will show all of the settings including the defautls (denoted by ### in front of the settings name).
Upvotes: 95
Reputation: 16226
from django.conf import settings
dir(settings)
and then choose attribute from what dir(settings)
have shown you to say:
settings.name
where name
is the attribute that is of your interest
Alternatively:
settings.__dict__
prints all the settings. But it prints also the module standard attributes, which may somewhat clutter the output.
Upvotes: 84
Reputation: 2776
To show all django settings (including default settings not specified in your local settings file):
from django.conf import settings
dir(settings)
Upvotes: 15