sowinski / wagtail-json-widget

JSON editing for Wagtail

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Wagtail JSON Widget

JSON editing for Wagtail Admin with josdejong / jsoneditor. Provides widgets for Page and StreamField.

Screenshot

Installation

Install from PyPI:

pip install wagtail-json-widget

Then add the following to your project's INSTALLED_APPS.

'wagtail_json_widget',

Usage

As a field:

from django.db import models
from django import forms
from wagtail.admin.edit_handlers import FieldPanel
from wagtail.admin.forms import WagtailAdminPageForm

from wagtail.core.models import Page

from .blocks import MyStreamBlock
from wagtail_json_widget.widgets import JSONEditorWidget


class MyPageForm(WagtailAdminPageForm):
    myjson = forms.JSONField(widget=JSONEditorWidget, required=False)


class MyPage(Page):

    myjson = models.JSONField(null=True)

    content_panels = Page.content_panels + [
        FieldPanel('myjson'),
    ]
    base_form_class = MyPageForm

As a StreamField block:

from wagtail.core import blocks
from wagtail_json_widget.blocks import JsonBlock

class MyBlock(blocks.StructBlock):
    my_json_block = JsonBlock()
    ...
    

About

JSON editing for Wagtail

License:MIT License


Languages

Language:Python 48.7%Language:JavaScript 32.9%Language:CSS 16.5%Language:HTML 1.9%