Skip to content

widgets

django_spire.contrib.form.widgets

JsonTreeWidget

Bases: Textarea

Source code in django_spire/contrib/form/widgets.py
def __init__(self, *args, **kwargs) -> None:
    super().__init__(*args, **kwargs)

    self.template_name = 'django_spire/contrib/form/widgets/json_tree_widget.html'

template_name = 'django_spire/contrib/form/widgets/json_tree_widget.html' instance-attribute

get_context

Source code in django_spire/contrib/form/widgets.py
def get_context(self, *args, **kwargs) -> dict:
    context = super().get_context(*args, **kwargs)
    context['open_dropdowns'] = True
    context['widget_render_uuid'] = uuid.uuid4()

    if context['widget']['value'] is None:
        context['json_tree_dict'] = {}
    else:
        context['json_tree_dict'] = json.loads(context['widget']['value'])

    return context