2010-07-14 71 views
5

在django應用程序中的各種代碼文件之間共享某些常量有時是有益的。Django - 如何在應用程序內共享配置常量?

例子:
- 名稱或在不同的模塊中轉儲文件的位置\命令等
- 上\調試模式關閉整個應用程序
- 網站具體配置

什麼是優雅\ pythonic這樣做的方式?

回答

0

創建配置模塊。

Configuration.py:(在你的項目/應用程序源代碼目錄)

MYCONST1 = 1 
MYCONST2 = "rabbit" 

導入從其他源文件:

from Configuration import MYCONST1,MYCONST2 
... 
6

有已經是項目範圍settings.py文件。這是放置自己的定製設置的理想場所。

+0

確實,這就是爲什麼我特別詢問了應用範圍 – Jonathan 2010-07-14 09:02:00

+0

@Jonathan:你正在尋找一個* app特定的*設置文件嗎?可以在項目設置文件中稍後覆蓋的東西? – 2010-07-14 10:17:44

+0

@Jonathan,你可以/應該把settings.py中的應用程序特定設置,最終一個項目在服務器上運行而不是應用程序本身 – 2010-07-14 10:52:17

6

,你可以在你的settings.py提供的設置,如

MY_SETTING = 'value' 

任何模塊中,你可以像

from django.conf import settings 
settings.MY_SETTING 
0

Django的應用程序獲取它的意思是(或多或少)可插拔。因此,你不應該破解應用程序的代碼,以便參數化你想要的東西(如果你必須這樣做,這將是一個相當混亂的事情!想象一下,你想升級你在互聯網上下載的應用程序......你將不得不重新入侵新版本的代碼?!?)。

因此,您不應該在應用程序級別添加應用程序級別的設置,而應將它們放在項目範圍內的某個地方settings.py

相關問題