簡體   English   中英

Django:檢查是否設置了設置變量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM