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
File details
Details for the file wagtail-dynamic-dropdown-0.0.5.tar.gz
.
File metadata
- Download URL: wagtail-dynamic-dropdown-0.0.5.tar.gz
- Upload date:
- Size: 10.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d18e405afeefacc9b9b908ad72919c8482a8973ebc6c8243bcdb786888d4c0a |
|
MD5 | 0e31b2c7e80597f58738fc28f3c3b51a |
|
BLAKE2b-256 | 4a557902648bfe594e014f424271a4672b1b358a5598876a1a36c1db56a01d24 |