Как распечатать содержимое моих настроек в оболочке django?
Когда я запускаю python manage.py shell
, я могу распечатать путь python
>>> import sys
>>> sys.path
Что мне следует вводить, чтобы просмотреть все настройки моего django?
Ответы
Ответ 1
from django.conf import settings
dir(settings)
а затем выберите атрибут, из которого dir(settings)
вам сказали:
settings.name
где name
- это атрибут, который вас интересует
В качестве альтернативы:
settings.__dict__
распечатывает все настройки. Но он печатает также стандартные атрибуты модуля, которые могут несколько загромождать вывод.
Ответ 2
Я знаю, что это старый вопрос, но с текущими версиями django (1.6+) вы можете выполнить это из командной строки следующим образом:
python manage.py diffsettings --all
В результате будут показаны все настройки, включая defautls (обозначенные ### перед именем настроек).
Ответ 3
Чтобы показать все настройки django (включая настройки по умолчанию, не указанные в вашем файле локальных настроек):
from django.conf import settings
dir(settings)
Ответ 4
В случае, если новичок наткнется на этот вопрос, желая, чтобы ложка подала способ распечатать значения для всех настроек:
def show_settings():
from django.conf import settings
for name in dir(settings):
print name, getattr(settings, name)
Ответ 5
В вашей оболочке вы можете вызвать встроенные diff - настройки Django:
from django.core.management.commands import diffsettings
output = diffsettings.Command().handle(default=None, output="hash", all=False)