Skip to main content

Django json 小部件是一个替代小部件,可以轻松编辑 django 的 jsonfield 字段。

项目描述

https://badge.fury.io/py/django-json-widget.svg https://travis-ci.org/jmrivas86/django-json-widget.svg?branch=master https://codecov.io/gh/jmrivas86/django-json-widget/branch/master/graph/badge.svg

一个替代小部件,可以轻松编辑新的 Django 字段 JSONField(PostgreSQL 特定模型字段)

快速开始

安装 django-json-widget:

pip install django-json-widget

将其添加到您的INSTALLED_APPS

INSTALLED_APPS = (
    ...
    'django_json_widget',
    ...
)

在 admin.py 中添加小部件:

from django.contrib import admin
# from django.contrib.postgres import fields # if django < 3.1
from django.db import models
from django_json_widget.widgets import JSONEditorWidget
from .models import YourModel


@admin.register(YourModel)
class YourModelAdmin(admin.ModelAdmin):
    formfield_overrides = {
        # fields.JSONField: {'widget': JSONEditorWidget}, # if django < 3.1
        models.JSONField: {'widget': JSONEditorWidget},
    }

您还可以在 forms.py 中添加小部件:

from django import forms
from django_json_widget.widgets import JSONEditorWidget
from .models import YourModel


class YourForm(forms.ModelForm):
    class Meta:
        model = YourModel

        fields = ('jsonfield',)

        widgets = {
            'jsonfield': JSONEditorWidget
        }

配置

您可以使用以下选项自定义 JSONEditorWidget:

  • width:编辑器的宽度,带有 CSS 大小单位(px、em、% 等)的字符串。默认为90%

  • height:编辑器的高度,以字符串 CSS 大小单位表示。默认为550px

  • options : JSON 编辑器接受的选项字典。不支持需要函数的选项(例如 onError)。

  • mode (deprecated):默认的编辑器模式。这个参数是多余的,因为它可以被指定为options的一部分。保留以向后兼容 0.2.0 版。

  • attrs:要应用于包装器元素的 HTML 属性。请参阅Django 小部件文档

JSONEditorWidget 小部件

前:

https://raw.githubusercontent.com/jmrivas86/django-json-widget/master/imgs/jsonfield_0.png

后:

https://raw.githubusercontent.com/jmrivas86/django-json-widget/master/imgs/jsonfield_1.png

学分

用于渲染此包的工具:

历史

0.1.0 (2017-05-10)

  • PyPI 上的第一个版本。

下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

django-json-widget-1.1.1.tar.gz (249.5 kB 查看哈希)

已上传 source