下面是我試圖實現的一個示例。預期的效果是,只有當其相關設置存在時,特定功能纔會生效。否則,該功能應該被禁用。Django:檢查設置變量是否設置
settings.py:
SOME_VARIABLE = 'some-string'
ANOTHER_VARIABLE = 'another-string'
random_code_file.py:
from django.conf import settings
if settings.is_defined('ANOTHER_VARIABLE'): # <- I need this.
do_something(settings.ANOTHER_VARIABLE)
else:
do_something_completely_different()
在上面的代碼中,我失去了什麼我應該做的,而不是settings.is_defined
。
如果這完全是對問題的錯誤解決方法,我很樂意聽到其他方法。所需的效果是自動激活功能,只有在相關設置存在時纔會生效。我希望避免一些特殊的settings.ACTIVE_FEATURES
設置或特殊值(例如空白字符串或None)來評估特性是否生效。
我想要做的最後一件事就是使用try/except。我寧願選擇一個空值來表示排除該功能。 - 但如果嘗試/除了它是真正的首選方法,如果提供詳盡的來源或解釋,我會將答案標記爲正確。事實上,這是任何答案。
因此,總之,我需要正確的方法來檢查設置變量是否在Django中定義。
提前致謝!
這是爲什麼特定於Django?我相信有一個內置的Python方法可以讓你做到這一點 – nmagerko
我認爲'設置'對象是Django獨有的。我不認爲你可以教我如何在Python中做到這一點? :) – Teekin