下面是我努力实现的一个例子.期望的效果是,当且仅当定义了某个特定功能的相关设置时,该功能才会生效.否则,应禁用该功能.

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.我宁愿 Select 表示排除该功能的空值.-但如果try /排除-这确实是首选的方法,如果提供了详尽的来源或解释,我会将答案标记为正确.事实上,这适用于任何答案.

简而言之,我需要一种正确的方法来判断设置变量是否在Django中定义.

提前谢谢!

推荐答案

看起来你做对了:import setting object and check.

您可以try 使用:

if hasattr(settings, 'ANOTHER_VARIABLE'):

而不是:

if settings.is_defined('ANOTHER_VARIABLE'):

我找到了the documentation个,希望这能有所帮助.

Django相关问答推荐

Django www.example.com从常量列表中删除值

如何在Django中获取标记<;输入>;的';值';属性?

""关系"core_Boundary_summary的列user_id中的空值"违反了非空约束|失败行包含(2,title,string,null)

使用自定义模型注册后,Django无法登录

Django 中主键的隐式 UUID 自动字段

如何在 Django 中设置与 Session 相关的字段

在 Trunc 的 kind 属性中使用字段

Nginx 响应 404 not found on Django media URL in preprod, dev ok

使用 Django 一次更新多条记录

是否可以在没有模型的情况下创建自定义管理视图

变量为无时默认模板标签输出的Django设置?

在 Django 过滤器语句中,__exact 和等号 (=) 有什么区别?

Django聚合:仅求和返回值?

重命名 django 元素的简单方法

在 virtualenv Ubuntu 12.10 中使用 pip 安装 lxml 错误:command 'gcc' failed with exit status 4

Django查询在哪里

如何从 django 的 db 模型中获取字段类型字符串

在 django admin 中控制 TextArea 小部件的大小

Django 将多个模型传递给一个模板

左加入 Django ORM