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:

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.

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.