Skip to main content

No project description provided

Project description

Wagtail Dynamic Dropdown

A Django application which allow to use dynamically defined choices that will be updated every time the user opens edit/create page. Moreover, the choices are not migrated to the database.

Install

::

pip install wagtail-dynamic-dropdown

Then add wagtail_dynamic_dropdown to your installed apps:

::

INSTALLED_APPS = [ ... 'wagtail_dynamic_dropdown' ]

Usage

###1. Define function that will return choices

.. code:: python

def dynamic_choices(): """ Choices creation logic """ return choices

This function should return iterable which contains list of touples. Example of valid choices:

.. code:: python

choices = ( ('choice_1','label_1'), ('choice_2','label_2') )

###2. Use your function with DynamicDropdownPanel

In your model create CharField field. Then pass its name and path to choice function as arguments in DynamicDropdownPanel

.. code:: python

from wagtail_dynamic_dropdown.edit_handlers import DynamicDropdownPanel

class MyModel(): ... my_dynamic_choices = models.CharField(max_length=255, blank=True,null=True)

   content_panels = [
       DynamicDropdownPanel("my_dynamic_choices", "app_name.folder_name.file_name.function_name")
       ]

Or, instead of defining a function path, you can import it and pass it as an argument

.. code:: python

from wagtail_dynamic_dropdown.edit_handlers import DynamicDropdownPanel from app_name.folder_name.file_name import function_name

class MyModel(): ... my_dynamic_choices = models.CharField(max_length=255, blank=True,null=True)

   content_panels = [
       DynamicDropdownPanel("my_dynamic_choices", function_name)
       ]

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

wagtail-dynamic-dropdown-0.0.4.tar.gz (10.1 kB view hashes)

Uploaded Source

Built Distribution

wagtail_dynamic_dropdown-0.0.4-py3-none-any.whl (13.8 kB view hashes)

Uploaded Python 3

Supported by

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