2011-06-16 75 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