0

我正在 Django 中制作一个非常非常可重用的 CMS。我试图不硬编码任何东西,所以我想要一个 config.py 或应用程序本身的东西。

我想在模板(例如 {{ config.SITE_NAME }})和常规 Python 代码(视图、模型)等中使用它。

我该怎么做呢?

4

3 回答 3

2

Django 已经有了 settings.py 文件和一个使用那里的值的接口,这还不够好吗?访问代码中的设置很容易:

from django.conf import settings
do_something_with(settings.MY_CONFIG_VARIABLE)

在您的模板中,它需要更多的工作,例如制作上下文处理器。这个答案表明您必须创建一个上下文处理器,将设置中的值公开给您的模板

于 2013-09-22T10:43:01.297 回答
1

settings.py 已经在 django 中用于此目的。您可以为您的应用程序添加自定义设置。

https://docs.djangoproject.com/en/dev/topics/settings/#using-settings-in-python-code

于 2013-09-22T10:32:11.393 回答
-1

当你创建一个 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.pyVCS 签入的末尾(例如,在 git add local_settings.pyto的情况下).gitignore

于 2013-09-22T11:47:42.410 回答