下面是我试图实现的一个示例。预期的效果是,只有当其相关设置存在时,特定功能才会生效。否则,该功能应该被禁用。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