我正在 Django 中制作一个非常非常可重用的 CMS。我试图不硬编码任何东西,所以我想要一个 config.py 或应用程序本身的东西。
我想在模板(例如 {{ config.SITE_NAME }})和常规 Python 代码(视图、模型)等中使用它。
我该怎么做呢?
我正在 Django 中制作一个非常非常可重用的 CMS。我试图不硬编码任何东西,所以我想要一个 config.py 或应用程序本身的东西。
我想在模板(例如 {{ config.SITE_NAME }})和常规 Python 代码(视图、模型)等中使用它。
我该怎么做呢?
Django 已经有了 settings.py 文件和一个使用那里的值的接口,这还不够好吗?访问代码中的设置很容易:
from django.conf import settings
do_something_with(settings.MY_CONFIG_VARIABLE)
在您的模板中,它需要更多的工作,例如制作上下文处理器。这个答案表明您必须创建一个上下文处理器,将设置中的值公开给您的模板。
settings.py 已经在 django 中用于此目的。您可以为您的应用程序添加自定义设置。
https://docs.djangoproject.com/en/dev/topics/settings/#using-settings-in-python-code
当你创建一个 django 项目时,它会自动创建一个settings.py
文件。将您的设置放入该文件中,然后:-
from django.conf import settings
settings.YOUR_SETTING
此外,如果您有一些设置,这将取决于机器(例如生产/测试服务器)。然后只需添加例如。conf/local_settings.py
文件并将机器特定设置放入该文件中,然后settings.py
执行以下操作:-
from conf.local_settings import *
在settings.py
确保您忽略local_settings.py
VCS 签入的末尾(例如,在 git add local_settings.py
to的情况下).gitignore