Custom widget to manage complex json data stored into a text field
Project description
z3c.form widget to manage a json field.
Features
Customizable schema
Usage
You need to set the widget to needed fields into your form instance:
from collective.z3cform.jsonwidget.browser.widget import JSONFieldWidget from zope.interface import Interface from zope import schema class IMyJsonSchema(Interface): first = schema.TextLine( title='first field', required=True, ) second = schema.List( title="second field", required=False, value_type=schema.TextLine(), ) class IFormSchema(Interface): my_json_field = schema.SourceText( title="The field with some stored json values" ) class MyForm(Form): ... schema = IFormSchema fields = field.Fields(IFormSchema) fields["my_json_field"].widgetFactory = JSONFieldWidget def updateWidgets(self): """ """ super(MyForm, self).updateWidgets() self.widgets["my_json_field"].schema = IMyJsonSchema
With this configuration, we are setting JSONFieldWidget widget to my_json_field field and setting the fields schema defined in IMyJsonSchema interface.
In the field are stored a list of json objects where each object has a set of fields defined in the schema.
For example for the given configuration, we are going to store into the field something like:
[ { "first": "a string", "second": [1,2,3,4] }, { "first": "another string", "second": ["a", "b", "c"] }, ]
Translations
This product has been translated into
Italian
Installation
Install collective.z3cform.jsonwidget by adding it to your buildout:
[buildout] ... eggs = collective.z3cform.jsonwidget
and then running bin/buildout
Contribute
Credits
Developed with the support of Regione Emilia Romagna;
Regione Emilia Romagna supports the PloneGov initiative.
0.2.0 (2021-05-17)
Add link and path to referenced items [nzambello]
Fix TextLine field. [cekk]
0.1.0 (2021-02-09)
Initial release. [cekk]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for collective.z3cform.jsonwidget-0.2.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0fd8278648969c5d141e253940412c8e28a2a59c6a2b3a9bbc9b28a8c69d930e |
|
MD5 | 8c4d6b082e3dbdba6bcafb4ce25f5240 |
|
BLAKE2b-256 | 9b963a02af059b626c64d16925f79fa3b404163cee845a56bdfb52677045bc16 |