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.7.tar.gz (21.2 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.7-py3-none-any.whl (22.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: django-toggled-widgets-0.7.tar.gz
  • Upload date:
  • Size: 21.2 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.26.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.12

File hashes

Hashes for django-toggled-widgets-0.7.tar.gz
Algorithm Hash digest
SHA256 a4d5bf2457996579b69f50250ba05d357cc1725c125af03237949e9281ebb5eb
MD5 c90881613436100b07681997a52bc59d
BLAKE2b-256 b7eafec9ba49471776cfbab33b45eea72843f2818c20fc1377306a7e11df15a7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: django_toggled_widgets-0.7-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.26.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.12

File hashes

Hashes for django_toggled_widgets-0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 90a7917ff46958a43287154bd78302b13ea83310a60d9a129f250a7f94be1cb0
MD5 e8266b9fb96607a390c9111685e05f71
BLAKE2b-256 12f35932745b33578d412cfce7cacdf17d90fda4c50d6ac56ec14fbe024b6093

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