【问题标题】:Can I put custom settings in Django's settings.py我可以将自定义设置放在 Django 的 settings.py 中吗
【发布时间】:2021-05-18 00:27:48
【问题描述】:

我想在我的 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 设置?如果不允许,有没有更好的地方放这些。

【问题讨论】:

    标签: django django-settings


    【解决方案1】:

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

    【讨论】:

    • 我是否必须将我的设置文件拆分为单独的文件,或者您只是建议将其作为最佳做法?通过将这些值放在主设置文件中,我的项目似乎可以正常工作,我有点喜欢这种方式。
    • @JohnnyMetz 对不起,在我的回答开始时并没有说清楚。是的,我建议将其作为最佳实践。是的,您可以将这些添加到您的 settings.py ;D
    猜你喜欢
    • 2021-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-18
    • 1970-01-01
    • 2013-06-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多