[英]Django: Check if settings variable is set
這是我要實現的示例。 預期的效果是,只有在定義了相關功能的情況下,特定功能才會生效。 否則,應禁用該功能。
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
設置或特殊值(例如,空白字符串或無)可用於功能部件評估其是否生效。
我想做的最后一件事是使用try / except。 我寧願輸入一個空值來表示該功能已排除。 -但是,如果嘗試/除外-確實是首選方法,那么如果提供了詳盡的參考資料或解釋,我將標記為正確答案。 實際上,這毫無疑問。
簡而言之,我需要檢查Django中是否定義了設置變量的正確方法。
提前致謝!
看來您已采用正確的方法: 導入設置模塊並進行檢查。
您可以嘗試使用:
if hasattr(settings, 'ANOTHER_VARIABLE'):
代替:
if settings.is_defined('ANOTHER_VARIABLE'):
我找到了文檔 ,希望對您有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.