Skip to main content

Django Flat JSON Key/Value Widget

Project description

CI build status https://coveralls.io/repos/openwisp/django-flat-json-widget/badge.svg Requirements Status Chat Pypi Version Downloads code style: black Django Flat JSON (key/value) Widget

If you ever needed to store a flexible dictionary of keys and values in your django models, you may have felt the need of giving your users a widget to easily manipulate the data by adding or removing rows, instead of having to edit the raw JSON.

This package solves exactly that problem: it offers a widget to manipulate a flat JSON object made of simple keys and values.

Compatibility

Tested on python >= 3.7 and Django >= 3.0.

It should work also on previous versions of Django.

Install stable version from pypi

Install from pypi:

pip install django-flat-json-widget

Usage

Add flat_json_widget to INSTALLED_APPS:

INSTALLED_APPS = [
    # other apps...
    'flat_json_widget',
]

Then load the widget where you need it, for example, here’s how to use it in the django admin site:

from django.contrib import admin
from django import forms
from .models import JsonDocument

from flat_json_widget.widgets import FlatJsonWidget


class JsonDocumentForm(forms.ModelForm):
    class Meta:
        widgets = {
            'content': FlatJsonWidget
        }


@admin.register(JsonDocument)
class JsonDocumentAdmin(admin.ModelAdmin):
    list_display = ['name']
    form = JsonDocumentForm

Installing for development

Install your forked repo:

git clone git://github.com/<your_fork>/django-flat-json-widget
cd django-flat-json-widget/
python setup.py develop

Install development dependencies:

pip install -e .[test]
npm install -g jslint stylelint

Create database:

cd tests/
./manage.py migrate
./manage.py createsuperuser

Launch development server:

./manage.py runserver 0.0.0.0:8000

You can access the admin interface at http://127.0.0.1:8000/admin/.

Run tests with:

./runtests.py

Run quality assurance tests with:

./run-qa-checks

Contributing

Please refer to the OpenWISP contributing guidelines.

Changelog

See CHANGES.

License

See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for django-flat-json-widget, version 0.1.3
Filename, size File type Python version Upload date Hashes
Filename, size django_flat_json_widget-0.1.3-py2.py3-none-any.whl (16.2 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size django-flat-json-widget-0.1.3.tar.gz (16.5 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page