Styling Django Forms with django-crispy-forms
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
- crispy-bootstrap4
Installing django-crispy-forms and crispy-bootstrap4:
pip install django-crispy-forms
pip install crispy-bootstrap4
Configuring Django settings:
Add ‘crispy_forms’ and ‘crispy_bootstrap4’ to the INSTALLED_APPS in settings.py, and also add
CRISPY_TEMPLATE_PACK = 'bootstrap4'
after INSTALLED_APPS as you can see in the below image.
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 the on the top of your django template as shown in image below:
{%load crispy_forms_tags %}
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
Contact Us