/django-jsonform

A better, user-friendly JSON editing form field for Django admin. Also supports Postgres ArrayField.

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

django-jsonform icon

A user-friendly JSON editing form for django admin.

DocumentationPlaygroundPyPI

Features

  • File uploads
  • Postgres ArrayField
  • Many inputs and field types
  • UI matches with Django admin's
  • Recursion (nesting with self references)
  • Validation

Screenshots

Here's a screenshot of items being added to a shopping list (JSON array) dynamically:

django-jsonform screenshot

Install

Install via pip:

$ pip install django-jsonform

Edit your settings.py file:

# settings.py

INSTALLED_APPS = [
    # ...
    'django_jsonform'
]

Upgrading notes

When upgrading from an older version of this library, please ensure that your browser is loading the latest static JavaScript files that come with this library.

  • In the development environment, clear the browser cache.
  • In the production environment, you must run the collectstatic command to update the static files.

Documentation

Quickstart and usage docs can be found at http://django-jsonform.rtfd.io.

Contributing

  • The JavaScript code is written in React and it lives in another repo: https://github.com/bhch/react-json-form.
    The JS code lacks proper documentation or comments, so before contributing, maybe open an issue and I can help you out.
  • For everything else (related to Django or widget's css), contribute directly to this repo.

License

BSD-3-Clause