问题描述
我想在我的 Django 应用程序中定义几个自定义设置。到目前为止,我已将它们放在每个应用程序的 constants.py
文件中。
myapp/constants.py
HOURS_PER_EVENT = 4
MAX_MEMBERS_PER_EVENTS = 150
MAX_EVENTS_PER_YEAR = 10
...
我突然想到我可以将这些放在 settings.py
中,经过快速测试后一切似乎都正常。这是允许的还是 settings.py
保留用于定义 here 的核心 django 设置?如果不允许,有没有更好的地方放这些。
解决方法
是的,可以扩展您的应用程序设置,而且操作起来非常简单。您需要做的只是从当前项目 settings.py
到模块 settings
的简单操作。
您的文件结构可能如下所示:
mysite/
|-- mysite/
| |-- __init__.py
| |-- settings.py
| |-- urls.py
| +-- wsgi.py
+-- manage.py
你需要做的是把它改成这样:
mysite/
|-- mysite/
| |-- __init__.py
| |-- settings/
| | |-- __init__.py
| | |-- base.py <-- (this is your old settings.py)
| | +-- constants.py
| |-- urls.py
| +-- wsgi.py
+-- manage.py
这是this tutorial中描述的模式。