我可以将自定义设置放在 Django 的 settings.py 中吗

Can I put custom settings in Django's settings.py

我想在我的 Django 应用程序中定义几个 自定义 设置。到目前为止,我已将它们放在每个应用程序的 constants.py 文件中。

myapp/constants.py

HOURS_PER_EVENT = 4
MAX_MEMBERS_PER_EVENTS = 150
MAX_EVENTS_PER_YEAR = 10
...

我突然想到我可以将它们放在 settings.py 中,经过快速测试后似乎一切正常。这是允许的还是 settings.py 为定义的核心 django 设置保留 here?如果不允许,有没有更好的地方放这些。

是的,可以扩展您的应用程序设置,而且操作起来非常简单。您需要做的只是从当前项目 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 中描述的模式。