2016-03-05 65 views
0

我正在寫一個django-agnostic模塊,它將在django subdir樹內的任何位置導入。如何從第三方模塊訪問django設置?

我想如果這個模塊是從任意django項目中導入的,它會檢測到它在django環境中運行, 它會從項目中的任何位置查找並導入settings.py?

例如 \ django \ app \ import XXX.settings?

\ Django的 \項目 \某處 \進口XXX.settings

(我,找一個通用的解決方案,而不是在特定的一個特定的目錄。)

+0

你的意思是你的模塊有它自己的settings.py,或者你想訪問該項目的settings.py? –

+0

我希望它能夠訪問項目自己的settings.py –

回答

2

你的模塊應該以標準方式訪問的Django設置:

from django.conf import settings 

https://docs.djangoproject.com/en/1.8/topics/settings/#using-settings-in-python-code

另請注意,您的代碼不應從 global_settings或您自己的設置文件導入。 django.conf.settings 摘要提供默認設置和特定場所設置的概念;它提供了一個單一的界面。它還會將您設置的位置使用 設置的代碼解耦。

如果您的模塊有自己的設置,可以在項目的settings.py中配置它們。您可以在模塊中對合理的默認值進行硬編碼,如果您需要settings.py值,則可以提高ImproperlyConfigured