Django by default doesn’t provide any Django form styling method due to which it takes a lot of effort and precious time to beautifully style a form. django-crispy-forms solves this problem for us. It will let you control the rendering behavior of your Django forms in a very elegant and DRY way.
Modules required:
- django : django install
- django-crispy-forms
Installing django-crispy-forms:
pip install django-crispy-forms
Configuring Django settings:
Add ‘crispy_forms’ to the INSTALLED_APPS in settings.py,
and also add
CRISPY_TEMPLATE_PACK = 'bootstrap4'
after INSTALLED_APPS.
Till now we have configured settings needed for django-crispy-forms.
Using django-crispy-forms in Django templates:
First, we need to load django-crispy-forms tags in our django template.
For loading django-crispy-forms tags, add
{%load crispy_forms_tags %}
on the top of your django template
Now to style any form with django-crispy-forms , replace
{{ form }}
with
{{ form|crispy }}
Bingo, you have successfully styled your form with django-crispy-forms.
Now you can see changes in your Django form by running server
python manage.py runserver