Skip to main content

Base classes and mixins to facilitate toggling visibility between multiple Django admin fields.

Project description

Django Toggled Widgets

This package makes it possible to toggle between fields in the Django admin. When a form containing toggled fields is submitted, any field that did not have visibility upon submission is automatically set empty in the cleaned data.

Usage

  1. Add "toggled_widgets" to your `INSTALLED_APPS setting.

  2. Add toggled_widgets.ToggledWidgetFormMixin to the MRO of any form class that requires the toggle behavior.

  3. Set the form class' toggle_groups attribute to an iterable of tuples that describe the toggle relationship.

  4. Add `toggled_widgets.ToggledWidgetAdminMixin to the MRO of any model admin class that uses a form containing the toggle behavior.

  5. Optionally add toggled_widgets.ToggledWidgetMixin to the MRO of the toggled widget classes in order to gain more control over the appearance of the toggle control (e.g. by defining the metafield_label to customize the toggle control's label).

ModelForm configuration

In the simplest implementation, each element in the tuples contained in the form class' toggle_groups attribute is a string whose value is a field name. The admin form will provide a control to toggle between these fields. For example:

class SomeModelForm(ToggledWidgetFormMixin, ModelForm):
    toggle_groups = [
        ('some_field', 'some_other_field')
    ]

Any element in the tuple may also be an iterable containing multiple field names. In this case, any field name past the first in this iterable will toggle sympathetically along with the field named in the first item.

class SomeModelForm(ToggledWidgetFormMixin, ModelForm):
    toggle_groups = [
        ('some_field', ('some_other_field', 'some_third_field'))
    ]

Project details


Download files

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

Source Distribution

django-toggled-widgets-0.6.tar.gz (21.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_toggled_widgets-0.6-py3-none-any.whl (22.5 kB view details)

Uploaded Python 3

File details

Details for the file django-toggled-widgets-0.6.tar.gz.

File metadata

  • Download URL: django-toggled-widgets-0.6.tar.gz
  • Upload date:
  • Size: 21.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.23.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.12

File hashes

Hashes for django-toggled-widgets-0.6.tar.gz
Algorithm Hash digest
SHA256 ff38b33456729e80c26c69a2b580118f7b673c954d2c5029e1d1b8c3559909ed
MD5 8426e7c69e34621434689712aa7b7bb8
BLAKE2b-256 7aed248bc159a516cf01c47c6ac8a5ba202e0d266b7656a81cf8c1a1da98bdb4

See more details on using hashes here.

File details

Details for the file django_toggled_widgets-0.6-py3-none-any.whl.

File metadata

  • Download URL: django_toggled_widgets-0.6-py3-none-any.whl
  • Upload date:
  • Size: 22.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.23.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.12

File hashes

Hashes for django_toggled_widgets-0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 87943448e0abc7e90d99f1e4c1fc512e28d08812a09eb3cf48fcfd38052daf8e
MD5 138798af3e7e58766caa737491c5e371
BLAKE2b-256 90599e6970f6ae5725eff0599dc83613eae5c404fd2bab02bc1ce33386fbc8db

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page