django-constance管理员是否支持数据库后端



我正在尝试设置管理员以显示存储在数据库后端(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'),
}

您可以在文档页面上阅读更多信息。

最新更新