如何在django shell中打印出我的设置内容?

时间:2011-06-16 09:28:49

标签: python django

当我运行python manage.py shell时,我可以打印出python路径

>>> import sys
>>> sys.path

我应该输入什么来反省我所有的django设置?

5 个答案:

答案 0 :(得分:47)

from django.conf import settings
dir(settings)

然后从dir(settings)向您显示的内容中选择属性:

settings.name

其中name是您感兴趣的属性

可替换地:

settings.__dict__

打印所有设置。但它也打印出模块标准属性,这可能会使输出混乱。

答案 1 :(得分:40)

我知道这是一个老问题,但是对于当前版本的django(1.6+),您可以通过以下方式从命令行完成此操作:

python manage.py diffsettings --all

结果将显示所有设置,包括defautls(在设置名称前面用###表示)。

答案 2 :(得分:14)

显示所有django设置(包括未在本地设置文件中指定的默认设置):

from django.conf import settings
dir(settings)

答案 3 :(得分:14)

如果新手偶然发现这个想要用勺子喂食的问题,打印出所有设置的值:

def show_settings():
    from django.conf import settings
    for name in dir(settings):
        print(name, getattr(settings, name))

答案 4 :(得分:1)

在您的shell中,您可以调用Django的内置diffsettings

from django.core.management.commands import diffsettings

output = diffsettings.Command().handle(default=None, output="hash", all=False)