A user-friendly JSON editing form for Django admin

Overview

django-jsonform icon

A user-friendly JSON editing form for django admin.

DocumentationDjango >= 2.0

Features

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

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'
]

Documentation

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

License

BSD-3-Clause


If you've found this library useful, and if you wish to support me you can:

Comments
  • Awesome app, but psycopg2 has to be installed in order to work

    Awesome app, but psycopg2 has to be installed in order to work

    Hi there,

    This is something I was looking for a while.

    This app has huge potential, thank you for creating it!

    There was a few issue though I came across immediately when I tried.

    1. I had to install psycopg2 in order to able to use django_jsonform.models.fields.JSONField. I got the ‘No module named 'psycopg2'’ error when I tried to run makemigrations.

    2. Django’s built in collapsable fieldsets stopped working after this field type has been added to my model. Any custom fieldset classes are splitted up by spaces when it’s rendered when JSONField is present.

    I could fix this issue by wrapping my custom classes into an additional list.

    'classes': (['collapse’]) # instead of 'classes': ('collapse')

    https://docs.djangoproject.com/en/3.2/ref/contrib/admin/#django.contrib.admin.ModelAdmin.fieldsets

    1. Some enhancment tip: it would be neat to be able to separate larger fieldset groups without having to add more JSONField to my model.

    Otherwise very good job. I’ll use this app on my website since the next update.

    Thanks!

    bug 
    opened by martincpt 12
  • A list of objects automatically add an item even if all of the fields are empty

    A list of objects automatically add an item even if all of the fields are empty

            schema={
                'type': 'array',
                'items': {
                    'type': 'dict',
                    'keys': {
                        'foo': {
                            'type': 'string',
                        },
                        'bar': {
                            'type': 'string',
                        },
                    },
                },
            },
    

    if you edit an instance that has [] in database, even if you don't touch any of the fields, it automatically stores

    [{"foo": "", "bar": ""}]
    

    While I understand that's how django manages empty string fields, setting them to an empty string instead of null, it doesn't make sense for it to happen in cases like this. It's causing us problems because then our frontend/api tries to return this stuff and it shows an empty item.

    I'm not sure how to handle this case, but here's three suggestions:

    • If min_items is 0, don't show an empty item by default, but if a user clicks on add item and doesn't add anything the issue still happens, which is not really the expected behavior.
    • A new option for dicts to only be stored if any of the values is not null (nested objects are a problem)
    • Let the user handle it by extending the field
    bug 
    opened by alexgmin 11
  • Choice field returning empty values

    Choice field returning empty values

    Hi @bhch

    I have a form displaying the following address information. The state choices is filled based on country through jQuery. The problem is, the address object in DB is empty i.e. {country:"",state:""}.

    Am i missing something?

    django version: 3.2 using jazzmin for the dashboard UI

    ADDRESS={ "type": "dict", "keys": { "country": { "type": "string", 'choices': ['India','China',....] }, "state": { "type": "string", 'choices': [] } } }

    //models.js address = JSONField(schema=ADDRESS)

    opened by kayesn786 8
  • Defaults not working as expected for size-limited array

    Defaults not working as expected for size-limited array

    Creating a form using this schema:

    DEFAULT_PARAMETERS_SCHEMA = {
        "type": "object",
        "properties": {
            "max_weekday_characteristics": {
                "type": "array",
                "items": {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": {
                        "type": "integer",
                        "helpText": "Key is a tag-name. Value is the maximum for that tag",
                    },
                },
                "minItems": 7,
                "maxItems": 7,
                "default": [{}, {}, {}, {}, {}, {}, {}],
                "title": "Maximum Characteristics per Weekday",
            },
        },
    }
    

    has unexpected behaviour. I would expect that the default form would look like this: Screenshot from 2022-08-12 12-24-41 but it instead defaults to being an empty list. I think this is a bug, but please advise.

    bug 
    opened by murrple-1 7
  • `DOMContentLoaded` Listener executes after DOM is already loaded, widget doesn't mount

    `DOMContentLoaded` Listener executes after DOM is already loaded, widget doesn't mount

    Hello!

    In our production environment, this listener executes after the DOM is already mounted, and thus, the widget doesn't mount: https://github.com/bhch/django-jsonform/blob/bf968559d15e1e79e9be71fb121fec62dee8bdd1/django_jsonform/static/django_jsonform/index.js#LL2C35-L2C35

    • We had to override it with window.addEventListener('load'... to get it working
    • The problem didn't happen on local

    Two questions:

    • Are other people able to reproduce?
    • DOMContentLoaded was added in this commit: https://github.com/bhch/django-jsonform/commit/eaf03c7e8c2fd039eb772b2a244b81d7bc142d91 . Any objection to changing it to load ? Happy to open a PR
    bug 
    opened by martingouy 6
  • Remove jQuery depency in widget template.

    Remove jQuery depency in widget template.

    I modified the admin template and removed the jQuery. I prefer to use native js or react js.

    This is a great project, and I would use it in other projects if it had to use jQuery.

    Thank you.

    enhancement 
    opened by CearaWeir 6
  • multiselect not work

    multiselect not work

    django-jsonform version: 2.10.1 django version: 3.2.14

    I have this model field which is an array imported from django_jsonform.models.fields, I would like it to be shown in the admin panel as a multiselector of another model, a kind of Foreign Key where, however, I go to save only the ids of the selected models.

    image

    In my admin form I first tried to do a test with the choices you see here, but i can't select anything.

    PS. radio widget works

    image ezgif com-gif-maker

    Another question: image

    another question, how do I increase the size of the input?

    widget.attrs = {'style': 'width: 275px;'} it does not work

    bug 
    opened by zN3utr4l 5
  • Support datetime format(s) for strings

    Support datetime format(s) for strings

    A basic feature would be to add the format to the string type returned by datetime.datetime.isoformat()

    This would require a datetime picker in the admin.

    A more advanced way to do it would be to allow custom datetime formats, like "YYYY-MM-DD HH:MM", but this is more complicated and with the basic feature anybody could extend the field and format the datetime into their desired format

    I love the package, btw!.

    enhancement 
    opened by alexgmin 5
  • [Suggestion] Foreign key field

    [Suggestion] Foreign key field

    Hello! Thanks for sharing awesome library!

    I came up with idea of extending the library to support foreign key id property field and select id using django's default autocomplete_field UI.

    For example, json schema would be like

    {
            '$schema': 'http://json-schema.org/schema#',
            'type': 'array',
            'items': {
                'type': 'object',
                'required': [
                    "model_id", "field"
                ],
                'properties': {
                    'model_id': { -> foreign key id, maybe type should be `ExampleModel` or something else.
                        'title': 'entity',
                        'type': 'number',
                    },
                    'field': {
                        'title': 'field',
                        'type': 'string',
                    }
                }
            }
        }
    

    where there exists django model named ExampleModel.

    class ExampleModel(models.Model):
        entity_field = models.CharField(max_length=32)
    

    This feature might empower the functionalities of your cool library!

    Thanks.

    enhancement 
    opened by grayhong 4
  • Allow for dict keys to only be set if value is not null

    Allow for dict keys to only be set if value is not null

    We have a field that is like this:

        action_timestamps = JSONField(
            default=dict,
            schema={
                'type': 'object',
                'keys': {
                    'timestamp_1': {
                        'type': 'string',
                    },
                    'timestamp_2': {
                        'type': 'string',
                    },
                }
            },
        )
    

    Outside of the admin, we set the timestamps only when they are needed. So for example this could be a valid value for us:

    {
        "timestamp_1": "2018-11-19 12:10:02.353829"
    }
    

    However, once you edit the model from the admin, that value is set to:

    {
        "timestamp_1": "2018-11-19 12:10:02.353829", 
        "timestamp_2": ""
    }
    

    Would it be possible to add a keyword to the schema key that makes so the key isn't stored unless it has a non falsy value?

    enhancement 
    opened by alexgmin 4
  • [Resolved] How to override the `to python` and `to db` serialization and deserialization?

    [Resolved] How to override the `to python` and `to db` serialization and deserialization?

    For my specific use case, I am combining your library with https://github.com/s-knibbs/dataclasses-jsonschema So, I am trying to have it serialize/deserialize to/from the dataclass.

    In the python code, I want to get a dataclass instance when I access .field and I also want to be able to do .field = dataclass_instance

    I do not want to affect the behavior on Django Admin.

    My attempt at overriding:

    But it doesn't seem to do anything for the python code. MyModel.objects.first().my_field still returns a dict

    class JSONFormField(JSONField):
    
        def __init__(self, dataclass_cls, **kwargs):
            super().__init__(schema=dataclass_cls.json_schema(), **kwargs)
    
        def to_python(self, value):
            raise ValueError('hello')
            return value
    
        def get_prep_value(self, value):
            raise ValueError('hello2')
            return value
    
    opened by ghost 3
  • widget.data in editor.html template is of no use

    widget.data in editor.html template is of no use

    {{ widget.data }} in editor.html template is of no use because the context variable widget (dict) doesn't have a key called data.

    The field's default data is being picked up by the js code from the widget.config.

    So, passing data to the textarea is redundant since the js widget will replace it anyway.

    bug 
    opened by bhch 0
  • Callable schemas and initial values

    Callable schemas and initial values

    Hello,

    It seems that callable schemas don't have knowledge of initial values (e.g. using a CreateView), as the schema callable only receives the model instance as parameter, which is not initialised. For example, using a model MyModel having a JSONField with a callable schema based on the model's some_property attribute, and using this view

    class MetricCreateView(CreateView, LoginRequiredMixin):
        model = MyModel
        form_class = MyModelForm
        def get_initial(self):
            return {'some_property': self.kwargs['some_property']}
    

    the callable schema will not be able to return a schema based on the initial some_property value. Wouldn't it make sense to pass the initial values to the callable? They are passed to the kwargs of MyModelForm.

    enhancement 
    opened by corradio 4
  • Option to send empty string fields as `null`.

    Option to send empty string fields as `null`.

    Two ways to do this:

    • Either checkbox on the form to toggle this behaviour
    • Or an argument on the JSONField to configure this: empty_string_as_null=True.
    enhancement 
    opened by bhch 1
  • `DataclassJSONField` implementation

    `DataclassJSONField` implementation

    as discussed in https://github.com/bhch/django-jsonform/issues/75

    WIP WIP WIP

    Example

    @dataclass
    class MyDataclass(JsonSchemaMixin):
        id: int
        whatever: str
    
    
    class MyModel(TimestampedModel):
        single = DataclassJSONField(MyDataclass, null=True)
        many = DataclassJSONField(MyDataclass, many=True, blank=True, default=list)
    

    image

    In [1]: m = MyModel.objects.first()
    
    In [2]: m.single
    Out[2]: MyDataclass(id=123, whatever='123')
    
    In [3]: m.many
    Out[3]: [MyDataclass(id=123, whatever='123'), MyDataclass(id=456, whatever='456')]
    
    In [4]: m.single.whatever='hello'
    
    In [5]: m.many[0].whatever='world'
    
    In [6]: m.many.pop()
    Out[6]: MyDataclass(id=456, whatever='456')
    
    In [7]: m.save()
    
    In [8]: m = MyModel.objects.first()
    
    In [9]: m.single
    Out[9]: MyDataclass(id=123, whatever='hello')
    
    In [10]: m.many
    Out[10]: [MyDataclass(id=123, whatever='world')]
    
    opened by ghost 6
  • [Contributing] Thoughts on adding a `contrib` folder for `dataclass` support?

    [Contributing] Thoughts on adding a `contrib` folder for `dataclass` support?

    Hi @bhch , I'm working on a project which requires django-jsonform + dataclasses-jsonschema.

    I feel this project could be quite useful to the Django community. So I want to make this functionality public.

    Would you be OK if I make PRs to add a contrib/dataclasses folder?

    E.g., from django_jsonform.contrib.dataclasses import DataclassJSONField

    opened by ghost 6
Releases(v2.15.0)
  • v2.15.0(Nov 21, 2022)

    django-jsonform 2.15.0 release notes

    Nov 21, 2022

    This release brings plenty of bug fixes and one breaking change.

    Like the previous version, it also supports Django >= 2.0 and Python >= 3.4.

    New features

    • ErrorMap A new helper class for setting error messages for custom validation.

    Bugfixes

    • #69: Allow hyphens in schema object keys.
    • #70: Made the widget compatible with HTMX.
    • #81: Fixed a bug due to which the error messages were not displayed under input fields.
    • #82: Fixed a bug to display error messages from multiple validators.
    • Minor fixes: #71, #73, #79.

    Breaking changes

    • Custom validation Due to fixing issue #69 to allow hyphens (dashes) in schema object keys (i.e. field names), you should now use the ErrorMap helper class to construct the error_map object.

    react-json-form (JavaScript)

    react-json-form has been updated to version 2.4.0.

    Thank you

    I want to thank my sponsors and all the people who contributed code, bug reports, feature requests and improvement suggestions.

    Source code(tar.gz)
    Source code(zip)
    django-jsonform-2.15.0.tar.gz(94.76 KB)
    django_jsonform-2.15.0-py3-none-any.whl(103.99 KB)
  • v2.14.0(Nov 1, 2022)

    django-jsonform 2.14.0 release notes

    Nov 01, 2022

    This release brings a small feature.

    Like the previous version, it also supports Django >= 2.0 and Python >= 3.4.

    New features

    • Overriding file-url input field Use widget: 'fileinput' to display a simple file input field for file-url. It is useful in those cases where you don’t want to open a modal for choosing images.

    react-json-form (JavaScript)

    react-json-form has been updated to version 2.3.0.

    Thank you

    I want to thank my sponsors and all the people who contributed code, bug reports, feature requests and improvement suggestions.

    Source code(tar.gz)
    Source code(zip)
    django-jsonform-2.14.0.tar.gz(93.66 KB)
    django_jsonform-2.14.0-py3-none-any.whl(102.67 KB)
  • v2.13.0(Oct 9, 2022)

    django-jsonform 2.13.0 release notes

    Oct 09, 2022

    This release brings some minor but important changes.

    Like the previous version, it also supports Django >= 2.0 and Python >= 3.4.

    Breaking changes

    New features

    Bugfixes

    • Some bugfixes in widget's JavaScript library.

    react-json-form (JavaScript)

    react-json-form has been updated to version 2.2.0.

    Thank you

    I want to thank all the people who contributed code, bug reports, feature requests and improvement suggestions.

    Source code(tar.gz)
    Source code(zip)
    django-jsonform-2.13.0.tar.gz(93.63 KB)
    django_jsonform-2.13.0-py3-none-any.whl(102.65 KB)
  • v2.12.0(Sep 17, 2022)

    django-jsonform 2.12.0 release notes

    Sep 17, 2022

    This release brings some exciting new features and a few bugfixes and improvements.

    Like the previous version, it also supports Django >= 2.0 and Python >= 3.4.

    New features

    • Data validation Support for data validation.

    • Validation keywords Support for validation keywords — required, minLength, maxLength, minimum, maximum, exclusiveMinimum, exclusiveMaximum, uniqueItems.

    • Autocomplete widget New autocomplete widget which can load choices via AJAX requests.

    • File deletion A delete button has been added in Media Library thumbnails which will send a DELETE request to file handler endpoint. In addition to that, DELETE requests will automatically be sent to the server when Clear button is clicked or when exiting page without form submission.

    • Rename choices label keyword to title For consistency with JSON schema, choice label keyword has been renamed to title. However, the label keyword will still continue to work.

    • Range input Support for range input widget. Earlier range input was added using the format keyword, but as a range input also returns a number value (no need for a specialised format). Hence, it didn't make sense to use range as a format. So, now range inputs can be created using the widget keyword.

    • Time widget improvements Time widget's input spinner is now circular i.e. after reaching maximum or minimum value, it will start over (e.g. after 12 for hours, it will go to 0 if the hour is incremented and will go from 0 to 12 if decremented).

    Bugfixes

    • #58: Overriding the widget in custom form's Meta class was not respected.
    • #61: Widget didn't accept attrs argument.
    • Minor improvements and fixes in widget's CSS.

    react-json-form (JavaScript)

    react-json-form has been updated to version 2.1.0.

    Thank you

    Thanks to all the people who contributed bug reports, feature requests and improvement suggestions.

    Source code(tar.gz)
    Source code(zip)
    django-jsonform-2.12.0.tar.gz(92.82 KB)
    django_jsonform-2.12.0-py3-none-any.whl(101.73 KB)
  • v2.11.1(Aug 30, 2022)

  • v2.11.0(Aug 16, 2022)

    django-jsonform 2.11.0 release notes

    Aug 16, 2022

    This release brings plenty of bugfixes, some exciting new features and some deprecations.

    Like the previous version, it also supports Django >= 2.0 and Python >= 3.4.

    What's new

    Deprecation notice

    • JSONFORM_UPLOAD_HANDLER The JSONFORM_UPLOAD_HANDLER setting has been deprecated and will be removed in future. Please read about the new way to upload files in the Uploading files document.

    New features

    • Brand new JavaScript API for controlling the widget in the browser.
    • Interactive playground: https://bhch.github.io/react-json-form/.
    • New file upload modal dialog which provides the ability to browse files form the server while uploading.
    • Support for enum keyword (alias for choices).
    • Support for placeholder keyword.
    • Support for date-time keyword (alias for datetime).
    • Support for handler keyword for string input. This can be used for specifying the url for the file upload handler on a per input field basis.
    • JSONField now accepts a new parameter called file_handler which can be used for specifying the url of the file handler on a per widget basis.
    • Now django-jsonform settings will be namespaced under DJANGO_JSONFORM setting.

    Bugfixes

    • #45: Default value for number and boolean types was ignored if the default value was 0 or False.
    • #46: Fixed a bug due to which the multiselect widget didn't work on top-level arrays.
    • #47: Fixed a bug in CSS when two widget fields were displayed in a single fieldset row.
    • #48: Array's minItems keyword was ignored if default value for array was provided or if the form field had initial data.
    • Fixed a bug to make select input respect falsy options. Earlier, the select input would not update the selected value if a falsy option was selected.
    • Minor improvements and fixes in widget's CSS.

    react-json-form (JavaScript)

    react-json-form has been updated to version 2.0.0.


    Finally, huge thanks to...

    • All my sponsors for their support. I really appreciate it.
    • All the people for contributing bug reports and improvement suggestions.
    Source code(tar.gz)
    Source code(zip)
    django-jsonform-2.11.0.tar.gz(82.84 KB)
    django_jsonform-2.11.0-py3-none-any.whl(90.86 KB)
  • v2.10.1(Jun 10, 2022)

    django-jsonform 2.10.1 release notes

    June 10, 2022

    django-jsonform v2.10.1 fixes a "high" severity security vulnerability which affects all previous versions.

    XSS (Cross Site Scripting) vulnerability in the admin form

    django-jsonform stores the raw JSON data of the database field in a hidden textarea on the admin page.

    However, that data was kept in the textarea after unescaping it using the safe template filter. This opens up possibilities for XSS attacks.

    This only affects the admin pages where the django-jsonform is rendered.

    Source code(tar.gz)
    Source code(zip)
    django-jsonform-2.10.1.tar.gz(90.32 KB)
    django_jsonform-2.10.1-py3-none-any.whl(340.25 KB)
  • v2.10.0(Jun 3, 2022)

    django-jsonform 2.10.0 release notes

    June 03, 2022

    This release brings some exciting new features while remaining fully backwards-compatible with the previous release (2.9.x).

    Like the previous version, it also supports Django >= 2.0 and Python >= 3.4.

    What's new

    New features

    • additionalProperties Now additionalProperties key can have a sub-schema of its own. Earlier, additional keys could only be of string type. But now additional keys can be anything. It also supports referencing other schema.
    • Referencing and recursion Now you can use the $ref keyword to reference and reuse other parts of the schema. This means you can even recursively nest an object into itself. Support for the $defs keyword has also been added so that you can declare common schema snippets in one place for reusing.
    • JSONField JSONField now accepts a new parameter called pre_save_hook which can be used to process or transform the JSON data before saving.

    Minor improvements

    • #38: If an array has minItems set to 0 or undefined, it will be kept blank initially. If it has a default value, it will use the default value instead of being blank. Earlier, an empty item was automatically added to an array which could be undesirable in many cases.

    react-json-form (JavaScript)

    react-json-form has been updated to version 1.12.1.

    Source code(tar.gz)
    Source code(zip)
    django-jsonform-2.10.0.tar.gz(90.30 KB)
    django_jsonform-2.10.0-py3-none-any.whl(370.70 KB)
  • v2.9.0(Apr 22, 2022)

    django-jsonform 2.9.0 release notes

    Apr 22, 2022

    This version introduces some backwards-incompatible changes with the previous versions related to CSS styling and internal HTML structure.

    Like the previous version, it also supports Django >= 2.0 and Python >= 3.4.

    What's new

    New features

    • Help text Support for displaying help text under inputs (using the help_text or helpText keyword).
    • New template filters New template filters to help convert datetime strings into datetime objects in templates.
    • Compatibility with Django-Grappelli admin Improvements to CSS to ensure compatibility with the Django-Grappelli admin.

    Bugfixes

    • #34: Fixed a CSS styling for Djang-Grappelli admin.
    • #35: Fixed a bug to reset file input when the file is cleared.

    react-json-form (JavaScript)

    react-json-form has been updated to version 1.11.0.

    Breaking changes

    The internal HTML structure of the widget, i.e. how the the fields are rendered, has been changed. Due to this, some of the CSS code has also been changed.

    You don’t need to worry about this unless you’ve written custom CSS styles for the widget. If so, this is something to beware of.

    Source code(tar.gz)
    Source code(zip)
    django-jsonform-2.9.0.tar.gz(88.78 KB)
    django_jsonform-2.9.0-py3-none-any.whl(348.77 KB)
  • v2.8.1(Mar 13, 2022)

    django-jsonform 2.8.1 release notes

    Mar 13, 2022

    This is a minor release and is fully backwards compatible.

    What's new

    New features

    • Ask for confirmation before clearing file input

    Bugfixes

    • #28: Fixed a bug to make the "Clear" file button visible when filename was too long.

    react-json-form (JavaScript)

    react-json-form has been updated to version 1.10.0.

    Source code(tar.gz)
    Source code(zip)
  • v2.8.0(Feb 14, 2022)

    django-jsonform 2.8.0 release notes

    Feb 14, 2022

    This version introduces no breaking changes and is fully compatible with the previous releases (2.7.x).

    Like the previous version, it also supports Django >= 2.0 and Python >= 3.4.

    What's new

    New features

    • Datetime input
      Support for datetime input has been added for string type fields using format: 'datetime' key.
      Read about its usage here: Datetime field.

    • Multiple choice selection
      Support for multiple choice selection. Learn more in usage docs: Multiple selections.

    • Default value for array
      Support for default initial value for an array. Earlier, only array itemscould have a default value.
      The problem with that is when a new item was added, the same default value was also added again.
      With this feature, it is now possible to set multiple default values on an array.

    • Clearable file inputs
      Now file upload inputs can be cleared, i.e. their value can be unset. Earlier, it wasn't possible to empty a file input once a value was attached.

    • Callable schema may receive the model instance
      Now the callable schema function may optionally receive the current model instance as an argument.

    Bugfixes

    • #25: Fixed a bug where editing a key in an extendable dict (object) made the key disappear.
    • #27: Fixed a bug to make the editor work in admin inlines.

    Minor improvements

    • Autogrowing textarea
      Textarea's height will now grow automatically as the user types in. This saves the user from having to manually resize the textarea.

    • Animated list items
      List items will have a nice animation when moved up/down or removed. This will help provide some feedback to the user.
      Earlier it wasn't obvious when list items were moved.

    react-json-form (JavaScript)

    react-json-form has been updated to version 1.9.0 which brings most of the above listed features.

    Source code(tar.gz)
    Source code(zip)
    django-jsonform-2.8.0.tar.gz(87.13 KB)
    django_jsonform-2.8.0-py3-none-any.whl(346.77 KB)
  • v2.7.0(Jan 31, 2022)

    django-jsonform 2.7.0 release notes

    Jan 31, 2022

    This version introduces no breaking changes and is fully compatible with the previous releases (2.6.x).

    Like the previous version, it also supports Django >= 2.0 and Python >= 3.4.

    What's new

    New features

    • #17: Support for lazy translations within the schema.

    Bugfixes

    • #23: Package didn’t work as intended in Django 4.0 due to bad version checking.
    Source code(tar.gz)
    Source code(zip)
    django-jsonform-2.7.0.tar.gz(74.26 KB)
    django_jsonform-2.7.0-py3-none-any.whl(333.65 KB)
  • v2.6.0(Dec 22, 2021)

    django-jsonform 2.6.0 release notes

    Dec 22, 2021

    This version introduces no breaking changes and is fully compatible with the previous releases (2.5.x).

    Like the previous version, it also supports Django >= 2.0 and Python >= 3.4.

    What's new

    New features

    • #15: A new keyword called default can be used to specify default values for input fields.
    • #13: A new keyword called readonly (alias readOnly) can be used to make input fields readonly.

    react-json-form (JavaScript)

    react-json-form has been updated to version 1.7.1.

    Source code(tar.gz)
    Source code(zip)
    django-jsonform-2.6.0.tar.gz(72.87 KB)
    django_jsonform-2.6.0-py3-none-any.whl(331.61 KB)
  • v2.5.0(Nov 19, 2021)

    django-jsonform 2.5.0 release notes

    Nov 19, 2021

    This version introduces a breaking change from the previous releases.

    Like the previous version, it also supports Django >= 2.0 and Python >= 3.4.

    What's new

    react-json-form (JavaScript)

    react-json-form has been updated to version 1.6.0.

    Breaking changes

    Earlier version used to set empty string ('') for blank number inputs. This version will use null instead.

    It will also change empty strings to null in the initial data as well.

    Bugfixes

    • #12: Use null instead of empty string for blank number inputs.

    Minor changes

    • Small improvements to the widget's css, such as the group panel’s titles are now bolder.
    Source code(tar.gz)
    Source code(zip)
    django-jsonform-2.5.0.tar.gz(72.30 KB)
    django_jsonform-2.5.0-py3-none-any.whl(331.23 KB)
  • v2.4.0(Nov 8, 2021)

    django-jsonform 2.4.0 release notes

    Nov 08, 2021

    This version is fully backwards compatible with the previous version (v2.2.x).

    Like the previous version, it also supports Django >= 2.0 and Python >= 3.4.

    What's new

    react-json-form (JavaScript)

    react-json-form has been updated to version 1.5.2. This version fixes the bug related to choice inputs.

    Bugfixes

    • #7: Earlier version required psycopg2 to be installed because of ArrayField. Now, psycopg2 isn't required unless ArrayField is used.
    • #9: Choices for the choice input field were not being set from the data.

    Minor changes

    • Small improvements to the widget's css and icons
    Source code(tar.gz)
    Source code(zip)
    django-jsonform-2.4.0.tar.gz(71.96 KB)
    django_jsonform-2.4.0-py3-none-any.whl(330.99 KB)
  • v2.3.0(Sep 22, 2021)

    django-jsonform 2.3.0 release notes

    Sep 22, 2021

    This version is fully backwards compatible with the previous version (v2.2.x).

    Like the previous version, it also supports Django >= 2.0 and Python >= 3.4.

    What's new

    react-json-form (JavaScript)

    react-json-form has been updated to version 1.5.1. This version implements following new features and many bugfixes.

    Textarea input

    Now a textarea input can be specified for a string field using the widget keyword.

    Movable array items

    Array items can now be re-ordered using arrow buttons.

    Bugfixes

    • Choices for boolean type will now return a boolean value.
    • Integer field’s value was set as string before. Now it will be set as a number.
    • Initial blank data was not set for certain fields (booleans, integers).
    • Checkbox couldn’t be unchecked once checked.

    Minor changes

    • Small improvements to the widget’s css
    • Javascript performance improvements
    Source code(tar.gz)
    Source code(zip)
    django-jsonform-2.3.0.tar.gz(71.52 KB)
    django_jsonform-2.3.0-py3-none-any.whl(329.87 KB)
  • v2.2.1(Sep 21, 2021)

  • v2.2.0(Sep 14, 2021)

  • v2.1.0(Sep 9, 2021)

    django-jsonform 2.1.0 release notes

    Sep 09, 2021

    This version is fully backwards compatible.

    What's new

    Callable schema

    schema can now be a callable. This allows for specifying choices dynamically, among other things.

    Minor changes

    Improvements to the widget's CSS:

    • Fixed: the remove button overlapped the input field on mobile.
    • Fixed: select input wasn't the same width as other inputs.
    Source code(tar.gz)
    Source code(zip)
    django-jsonform-2.1.0.tar.gz(7.30 KB)
    django_jsonform-2.1.0-py3-none-any.whl(10.46 KB)
  • v2.0.0(Sep 6, 2021)

    django-jsonform 2.0.0 release notes

    Sep 06, 2021

    This version is fully backwards compatible with the previous version (v1.0.0).

    Like the previous version, it also supports Django >= 2.0 and Python >= 3.4.

    What's new

    JSONField

    A model field called JSONField has been added which makes it more convenient to set up the editing form widget.

    ArrayField

    A model field called ArrayField has been added which provides a nice, dynamic form for editing the Postgres ArrayField.

    react-json-form (JavaScript)

    react-json-form has been updated to version 1.4.1.

    Minor changes

    Some small improvements to the widget's css.

    Source code(tar.gz)
    Source code(zip)
    django-jsonform-2.0.0.tar.gz(7.07 KB)
    django_jsonform-2.0.0-py3-none-any.whl(10.33 KB)
  • v1.0.0(Sep 2, 2021)

Owner
Bharat Chauhan
Ja'Crispy.
Bharat Chauhan
📱 An extension for Django admin that makes interface mobile-friendly. Merged into Django 2.0

Django Flat Responsive django-flat-responsive is included as part of Django from version 2.0! ?? Use this app if your project is powered by an older D

elky 248 Sep 2, 2022
Disable dark mode in Django admin user interface in Django 3.2.x.

Django Non Dark Admin Disable or enable dark mode user interface in Django admin panel (Django==3.2). Installation For install this app run in termina

Artem Galichkin 6 Nov 23, 2022
Jet Bridge (Universal) for Jet Admin – API-based Admin Panel Framework for your application

Jet Bridge for Jet Admin – Admin panel framework for your application Description About Jet Admin: https://about.jetadmin.io Live Demo: https://app.je

Jet Admin 1.3k Dec 27, 2022
aiohttp admin is generator for admin interface based on aiohttp

aiohttp admin is generator for admin interface based on aiohttp

Mykhailo Havelia 17 Nov 16, 2022
Collection of admin fields and decorators to help to create computed or custom fields more friendly and easy way

django-admin-easy Collection of admin fields, decorators and mixin to help to create computed or custom fields more friendly and easy way Installation

Ezequiel Bertti 364 Jan 8, 2023
"Log in as user" for the Django admin.

django-loginas About "Login as user" for the Django admin. loginas supports Python 3 only, as of version 0.4. If you're on 2, use 0.3.6. Installing dj

Stavros Korokithakis 326 Dec 3, 2022
An improved django-admin-tools dashboard for Django projects

django-fluent-dashboard The fluent_dashboard module offers a custom admin dashboard, built on top of django-admin-tools (docs). The django-admin-tools

django-fluent 326 Nov 9, 2022
A Django app for easily adding object tools in the Django admin

Django Object Actions If you've ever tried making admin object tools you may have thought, "why can't this be as easy as making Django Admin Actions?"

Chris Chang 524 Dec 26, 2022
Modern responsive template for the Django admin interface with improved functionality. We are proud to announce completely new Jet. Please check out Live Demo

Django JET Modern template for Django admin interface with improved functionality Attention! NEW JET We are proud to announce completely new Jet. Plea

Geex Arts 3.4k Dec 29, 2022
Drop-in replacement of Django admin comes with lots of goodies, fully extensible with plugin support, pretty UI based on Twitter Bootstrap.

Xadmin Drop-in replacement of Django admin comes with lots of goodies, fully extensible with plugin support, pretty UI based on Twitter Bootstrap. Liv

差沙 4.7k Dec 31, 2022
A jazzy skin for the Django Admin-Interface (official repository).

Django Grappelli A jazzy skin for the Django admin interface. Grappelli is a grid-based alternative/extension to the Django administration interface.

Patrick Kranzlmueller 3.4k Dec 31, 2022
A Django admin theme using Twitter Bootstrap. It doesn't need any kind of modification on your side, just add it to the installed apps.

django-admin-bootstrapped A Django admin theme using Bootstrap. It doesn't need any kind of modification on your side, just add it to the installed ap

null 1.6k Dec 28, 2022
django's default admin interface made customizable. popup windows replaced by modals. :mage: :zap:

django-admin-interface django-admin-interface is a modern responsive flat admin interface customizable by the admin itself. Features Beautiful default

Fabio Caccamo 1.3k Dec 31, 2022
Extendable, adaptable rewrite of django.contrib.admin

django-admin2 One of the most useful parts of django.contrib.admin is the ability to configure various views that touch and alter data. django-admin2

Jazzband 1.2k Dec 29, 2022
Modern theme for Django admin interface

Django Suit Modern theme for Django admin interface. Django Suit is alternative theme/skin/extension for Django administration interface. Project home

Kaspars Sprogis 2.2k Dec 29, 2022
Django application and library for importing and exporting data with admin integration.

django-import-export django-import-export is a Django application and library for importing and exporting data with included admin integration. Featur

null 2.6k Jan 7, 2023
:honey_pot: A fake Django admin login screen page.

django-admin-honeypot django-admin-honeypot is a fake Django admin login screen to log and notify admins of attempted unauthorized access. This app wa

Derek Payton 907 Dec 31, 2022
Visually distinguish environments in Django Admin

django-admin-env-notice Visually distinguish environments in Django Admin. Based on great advice from post: 5 ways to make Django Admin safer by hakib

Yuri Shikanov 258 Nov 30, 2022
A new style for Django admin

Djamin Djamin a new and clean styles for Django admin based in Google projects styles. Quick start Install djamin: pip install -e git://github.com/her

Herson Leite 236 Dec 15, 2022