3

我正在编写可重用的 Django 应用程序。将自己的设置添加到的最佳实践是什么settings.py?我是否需要在每个设置前面加上我的 app_name,或者我应该只制作一个设置字典。我的应用程序?

4

1 回答 1

3

您应该尝试仅在所涉及的包中定义应用程序设置,尤其是在您考虑使用可重用包时。坚持使用唯一的全局名称(实际上是哪些设置)总是一个好主意。看看PEP-8 全局变量

如果您正在创建一个可重用的包,最好先尝试从设置模块导入属性,以查看用户是否用自己的常量覆盖它。

例如

from django.conf import settings

MY_CONSTANT = getattr(settings, 'MY_CONSTANT', True)

def foo(*args, **kwargs):
    if MY_CONSTANT:
        return 'hello'
    else:
        return 'goodbye'

这样,用户可以MY_CONSTANT = False在他的设置模块中进行设置,以便应用程序将返回'goodbye'而不是默认值'hello'

大多数软件包确实按照您的建议使用软件包名称作为前缀,这里有几个例子:

FEINCMS ,美味派

于 2013-04-21T19:09:47.450 回答