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.
2.0.1 (2026-07-07)
Fixed wrong logger import in upgrade. [daniele]
2.0.0 (2026-03-26)
Plone 6 compatibility. Use 1.x tags for Plone < 6. [cekk] [cekk]
1.1.2 (2023-04-26)
Fix release. [cekk]
1.1.1 (2023-04-21)
Handle integer fields. [cekk]
1.1.0 (2022-07-18)
Force vocabularies batch size to 1000 to get all of possible values. [cekk]
1.0.0 (2021-12-20)
Improve widget usability. [cekk]
0.2.4 (2021-12-13)
Fix defaulValue in select fields. Now we can also reset the values. [cekk]
0.2.3 (2021-08-18)
Fix homepage breadcrumb. [cekk]
0.2.2 (2021-08-17)
Fix breadcrumbs and pagination in ReferenceField. [cekk]
0.2.1 (2021-05-18)
Add alt text on buttons
Add locales for a11y hints [nzambello]
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]
Release files for collective.z3cform.jsonwidget 2.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| collective_z3cform_jsonwidget-2.0.1.tar.gz | 758.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| collective_z3cform_jsonwidget-2.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.5 MB
Release files / collective_z3cform_jsonwidget-2.0.1.tar.gz
| Download URL | collective_z3cform_jsonwidget-2.0.1.tar.gz |
|---|---|
| Size | 758.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8dbc3dcd1d544820af5cd56f007f5e8be71a75d573a87ec19bc714933ab4684e
|
|
BLAKE2b-256 checksum How to use checksums |
02fa5b621791b1ce55af27273e8462bf60d7639372e4bc7884aaac20ad0f7e79
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.2
|
Release files / collective_z3cform_jsonwidget-2.0.1-py3-none-any.whl
| Download URL | collective_z3cform_jsonwidget-2.0.1-py3-none-any.whl |
|---|---|
| Size | 705.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2a08e95d69782af285ed1d41fd179cc31b30e697a1b2f56e14f2df675471552a
|
|
BLAKE2b-256 checksum How to use checksums |
55258413cbb1ccb4f8f528a9a3772fba7449ca970f3264f56100e37cb36d3483
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.2
|