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

70 投票
5 回答
44805 浏览
提问于 2025-04-16 19:41

当我运行 python manage.py shell 这个命令时,我可以打印出 Python 的路径。

>>> import sys
>>> sys.path

我应该输入什么命令来查看我所有的 Django 设置呢?

5 个回答

20

如果有新手碰巧看到这个问题,想要直接知道怎么打印出所有设置的值:

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

我知道这个问题已经很老了,但在现在的Django版本(1.6及以上)中,你可以通过命令行这样来实现:

python manage.py diffsettings --all

结果会显示所有的设置,包括默认设置(在设置名称前面会有###标记)。

83
from django.conf import settings
dir(settings)

然后从 dir(settings) 显示的内容中选择一个属性来使用:

settings.name

这里的 name 是你感兴趣的那个属性

另外一种方法是:

settings.__dict__

这会打印出所有的设置。不过它也会打印出模块的标准属性,这可能会让输出看起来有点杂乱。

撰写回答