我正在编写可重用的 Django 应用程序。将自己的设置添加到的最佳实践是什么settings.py
?我是否需要在每个设置前面加上我的 app_name,或者我应该只制作一个设置字典。我的应用程序?
问问题
689 次
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'
大多数软件包确实按照您的建议使用软件包名称作为前缀,这里有几个例子:
于 2013-04-21T19:09:47.450 回答