将用户友好的 json 编辑器添加到 django admin
Posted
技术标签:
【中文标题】将用户友好的 json 编辑器添加到 django admin【英文标题】:add user friendly json editor to 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 格式字段
【问题讨论】:
【参考方案1】:你可以使用prettyjson
的PrettyJSONWidget
:
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
生成。
【讨论】:
以上是关于将用户友好的 json 编辑器添加到 django admin的主要内容,如果未能解决你的问题,请参考以下文章