0

如果有其他方法,但我最常看到的是这两种方法,请加入,它们都存在于 django 源代码中。

if settings.DEBUG:

if hasattr(settings, 'POSTGIS_VERSION'):

后者的优点是有默认值,但如果默认值是错误的(缺少某些东西),使用第一个版本会更好吗?默认值的规则是什么,什么时候应该把它放在 settings.py 文件中,什么时候应该把它直接包含在上面的源代码中?

4

2 回答 2

2

在您的应用程序的默认设置中访问您的应用程序定义的设置时,我建议if settings.name:- 默认值已由您定义。另一方面,在编写外部应用程序时——我建议if hasattr(settings, 'name'):——你不能指望你的应用程序用户会定义所有的默认值。

于 2013-10-07T16:11:04.817 回答
0

修改第一个答案。从 Django 获取内容的可靠且易读的方法:

variable = getattr(settings, 'MY_SETTING', None)

现在变量等于一些设置或无,如果根本没有这样的设置。

于 2013-10-09T02:57:59.333 回答