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

Example of Signup page styled using django-crispy-forms
Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.
To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.