Django應用程序中以下導入語句之間的基本區別是什麼?Django - 導入django.conf.settings和導入設置之間的區別
import settings
和
from django.conf import settings
Django應用程序中以下導入語句之間的基本區別是什麼?Django - 導入django.conf.settings和導入設置之間的區別
import settings
和
from django.conf import settings
import settings
將導入您的Django項目的設置(的.py)模塊(如果你正在寫,當然,從你的應用程序的 「根」 包這段代碼)
from django.conf import settings
將導入設置從django.conf包(Django的親對象 vided文件)。 This is important,因爲
[..]請注意,您的代碼不應該從global_settings或您自己的設置文件導入。 django.conf.settings抽象了默認設置和特定於站點的設置的概念;它提供了一個單一的界面。它還會將使用設置的代碼從您的設置位置分離出來。
UPDATE:如果你要定義一些自己的設置,請參閱this part of the documentation
僅供參考,global_settings是django.conf包內的另一個模塊。正如文件所說,不要使用它。 – dgraziotin 2012-01-08 20:17:37
請注意,如果您想在單元測試期間覆蓋設置,則使用django.conf導入設置中的'''是至關重要的。 – Joris 2015-10-19 11:46:17
另請注意,所有設置名稱**應爲大寫**。也就是說,如果你的設置中有'my_var',那麼這將失敗:'from django.conf import settings' ...'settings.my_var'。但是如果你將其命名爲「MY_VAR」,它將會成功! – 2017-02-09 16:34:33
+1,因爲它是誰是新的Django開發一個非常有趣的問題。 – dgraziotin 2012-01-08 20:28:17