我正在尝试设置管理员以显示存储在数据库后端(Postgres 9.5.0)中的设置。我在shell_plus中手动创建了如下值:
在[1]中:从constance.backends.database.models导入constance
在[2]中:first_record=Constance.objects.get(id=1)
在[3]中:first_record输出[3]:
pg admin正确地显示了条目,尽管django admin根本没有显示。我对这两个数据库都运行了migrate命令(我有默认数据库和产品数据库),但记录仍然没有显示。当然,我可以通过强制向管理员注册来实现它,如下所示:admin.site.register(康斯坦斯)但我的问题是是否有必要?
是的。
您需要管理依赖关系,但您可以使用下一个命令来安装:
pip install "django-constance[database]"
此外,您还需要在settings.py
:中添加一些附加设置
CONSTANCE_BACKEND = 'constance.backends.database.DatabaseBackend'
INSTALLED_APPS = (
# other apps
'constance.backends.database',
)
#optional - in case you want specify table prefix
CONSTANCE_DATABASE_PREFIX = 'constance:myproject:'
然后,您需要通过运行命令python manage.py migrate database
来应用迁移
为了在管理中显示设置输入,您应该在settings.py
中指定它们。有各种类型的字段,您甚至可以使用CONSTANCE_ADDITIONAL_FIELDS
参数添加自己类型的字段。
CONSTANCE_CONFIG = {
'THE_ANSWER': (42, 'Answer to the Ultimate Question of Life, '
'The Universe, and Everything'),
}
您可以在文档页面上阅读更多信息。