你会如何在Django中创建一个“配置”类?

时间:2013-09-22 09:49:45

标签: python django django-templates config

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

我想在模板中使用它(类似于{{config.SITE_NAME}})和常规Python代码(视图,模型)等。

我将如何做到这一点?

3 个答案:

答案 0 :(得分:2)

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

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

在您的模板中,它需要更多的工作,例如制作context processor。这个答案显示你必须a context processor that exposes values from settings to your template

答案 1 :(得分:1)

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

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

答案 2 :(得分:-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的末尾 请务必忽略VCS签到中的local_settings.py(例如,如果git将local_settings.py添加到.gitignore