【问题标题】:add user friendly json editor to django admin将用户友好的 json 编辑器添加到 django admin
【发布时间】:2019-01-09 00:37:13
【问题描述】:

我有一个 django 应用程序,也使用 rest_framework,以及一个模型 Product,其字段类型为 JSONField。所以数据在Postgres 中存储为JSON,现在我想为管理员提供一个很好的用户友好方式,告诉他如何更改json 字段(names/keys and values)。是否有扩展或有更快的方法来做到这一点。

这里是数据库中的列定义。 my_column = JSONField(default={"editorial1": "text 1", "editorial_2": "text2", "editorial_3": "text"})

管理员可以编辑键和值

管理员不应该对 JSON 有任何了解,也不应该输入/编辑任何 json 格式字段

【问题讨论】:

    标签: django django-rest-framework django-admin django-jsonfield


    【解决方案1】:

    你可以使用prettyjsonPrettyJSONWidget

    class ProductModelForm(forms.ModelForm):
        class Meta:
            fields = (
                ...
                'my_column',
            )
            widgets = {
                'my_column': PrettyJSONWidget(),
            }
    

    【讨论】:

    • pip install django-prettyjson(我使用的是 0.3.0,但可能会有更新的版本)
    • 感谢信息。这就要求使用者必须对 json 有一定的了解。我们的用户对此一无所知。因此我会说github.com/kevinmickey/django-prettyjson 似乎更好
    【解决方案2】:

    我最终使用了django-admin-json-editor。不是世界上最好的东西,但它确实有用

    https://github.com/abogushov/django-admin-json-editor

    【讨论】:

      【解决方案3】:

      你可以试试https://github.com/jrief/django-entangled

      与上面提到的编辑器相比,它不会替换用于呈现 JSON 的小部件,但允许覆盖 ModelForm,否则由 Django 的 ModelAdmin 生成。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-23
        • 1970-01-01
        相关资源
        最近更新 更多