我在Django中创建了一个非常可重用的CMS。我试图不对任何东西进行硬编码,所以我想要一个config.py或应用程序本身的东西。
我想在模板中使用它(类似于{{config.SITE_NAME}})和常规Python代码(视图,模型)等。
我将如何做到这一点?
答案 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