Awesome
crispy-bootstrap5
Bootstrap5 template pack for django-crispy-forms
Installation
Install this plugin using pip
:
$ pip install crispy-bootstrap5
Usage
You will need to update your project's settings file to add crispy_forms
and crispy_bootstrap5
to your projects INSTALLED_APPS
. Also set
bootstrap5
as and allowed template pack and as the default template pack
for your project
INSTALLED_APPS = (
...
"crispy_forms",
"crispy_bootstrap5",
...
)
CRISPY_ALLOWED_TEMPLATE_PACKS = "bootstrap5"
CRISPY_TEMPLATE_PACK = "bootstrap5"
What's new?
Bootstrap 5 introduces floating labels. This template pack include a layout object to use this input type
from crispy_bootstrap5.bootstrap5 import FloatingField
# then in your Layout
... Layout(
FloatingField("first_name"),
)
Accordions also have new features, such as Accordion flush and Always open. There is a new layout object to use them
from crispy_bootstrap5.bootstrap5 import BS5Accordion
# then in your Layout
# if not informed, flush and always_open default to False
... Layout(
BS5Accordion(
AccordionGroup("group name", "form_field_1", "form_field_2"),
AccordionGroup("another group name", "form_field"),
flush=True,
always_open=True
)
)
Support is added for Switches. Switches are a custom checkbox rendered as a toggle switch. The widget for these fields should be a CheckboxInput.
from crispy_bootstrap5.bootstrap5 import Switch
... Layout(Switch("is_company"))
Development
To contribute to this library, first checkout the code. Then create a new virtual environment:
cd crispy-bootstrap5
python -m venv venv
source venv/bin/activate
Or if you are using pipenv
:
pipenv shell
Now install the dependencies and tests:
pip install -e '.[test]'
To run the tests:
pytest