我如何在django shell中打印设置的内容?
当我运行python manage.py shell
时,我可以打印出python路径
>>> import sys
>>> sys.path
我应该键入什么来检查所有django设置?
Frankie Ribery asked 2020-08-10T04:51:17Z
5个解决方案
51 votes
from django.conf import settings
dir(settings)
然后从name
显示的内容中选择属性说:
settings.name
其中name
是您感兴趣的属性
或者:
settings.__dict__
打印所有设置。 但是它还会打印模块标准属性,这可能会使输出混乱。
43 votes
我知道这是一个老问题,但是对于django(1.6+)的当前版本,您可以通过以下方式在命令行中完成此操作:
python manage.py diffsettings --all
结果将显示所有设置,包括默认设置(在设置名称前面以###表示)。
15 votes
如果一个新手偶然发现了这个问题,希望用勺子喂它打印所有设置的值:
def show_settings():
from django.conf import settings
for name in dir(settings):
print(name, getattr(settings, name))
14 votes
要显示所有django设置(包括未在本地设置文件中指定的默认设置):
from django.conf import settings
dir(settings)
2 votes
在您的Shell中,您可以调用Django的内置diffsettings:
from django.core.management.commands import diffsettings
output = diffsettings.Command().handle(default=None, output="hash", all=False)