2011-06-16 38 views

回答

33
from django.conf import settings 
dir(settings) 

,然后从属性什么dir(settings)证明你说:

settings.name 

其中name是你的兴趣

或者属性:

settings.__dict__ 

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

+9

导入设置不起作用。按照vinod的建议从django.conf导入设置中尝试。 – Bobo 2012-09-17 21:12:50

+2

'settings'是一个模块,而不是一个类。所以'settings .__ dict__'不是很有用。 – Danosaure 2014-01-17 15:57:44

13

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

from django.conf import settings 
dir(settings) 
14

如果一个新手绊倒在这个问题想成为勺子喂,打印出的值的方法所有设置:

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

我知道这是一个老问题,但在Django的当前版本(1.6以上版本),你可以在命令行完成这个方式如下:

python manage.py diffsettings --all 

结果将显示所有设置,包括设置名称前面的###。

+1

在我的版本中没有'--all',它没有工作。 – 2014-12-17 15:51:11

+1

没有django 2.7+(还)。 “diffsettings”存在于> = 1.4中。 1.6中增加了--all。 https://docs.djangoproject.com/en/1.9/ref/django-admin/#diffsettings – Florian 2015-12-19 12:14:06

+0

@Florian感谢您注意到监督。我已经更新了我的答案来解决这个问题。 – 2016-04-26 20:44:15