【发布时间】:2014-04-18 15:46:06
【问题描述】:
这与这个问题有些相关
Why is django's settings object a LazyObject?
在我的 django 项目中,我有几个应用程序。每个应用程序都可以有自己的重要设置文件。
proj/
proj/
settings.py
app/
settings.py
views.py
这里的一般最佳做法是什么?
app/settings.py 应该这样做
from django.conf import settings
APP_SETTING= lambda: settings.getattr('APP_SETTING', 'custom_value')
PROJ_SETTING= lambda: settings.PROJ_SETTING
然后在 app/views.py 中做
import .settings
X = settings.APP_SETTING
Y = settings.PROJ_SETTING
还是应该按照 django 编码风格修改 app/settings.py 中的 django 惰性设置对象?
from django.conf import settings
# not even sure how I would check for a default value that was specified in proj/settings.py
settings.configure(APP_SETTING='custom_value')
然后每个 app/views.py 只是通过 django.conf 设置消耗 proj/settings.py?
from django.conf import settings
X = settings.APP_SETTING
Y = settings.PROJ_SETTING
显然还有很多其他排列,但我认为我的意图很明确。
提前致谢。
【问题讨论】:
-
感谢该链接。你个人通常做什么?
标签: python django django-settings