How do I print out the contents of my settings in a django shell?

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).


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.


To show all django settings (including default settings not specified in your local settings file):

from django.conf import settings
dir(settings)

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))

Tags:

Python

Django