如果有其他方法,请插入,但我最常见的是这两种方法,它们都存在于django源中。
if settings.DEBUG:
和
if hasattr(settings, 'POSTGIS_VERSION'):
后者具有默认优势但在默认情况下会出现错误(缺少某些内容)的情况下使用第一个版本会更好吗?什么是默认值的规则,什么时候应该将它放在settings.py文件中?什么时候应该直接将它包含在源代码中?
答案 0 :(得分:2)
在应用的默认设置中访问应用定义的设置时,我建议if settings.name:
- 默认值已由您定义。另一方面,在编写外部应用程序时 - 我建议if hasattr(settings, 'name'):
- 您不能指望您的应用程序用户将定义所有默认值。
答案 1 :(得分:0)
修改第一个答案。从Django获取内容的可靠且可读的方式:
variable = getattr(settings, 'MY_SETTING', None)
现在变量等于某些设置或无,如果根本没有这样的设置。