Open In App

Styling Django Forms with django-crispy-forms

Last Updated : 22 Mar, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

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 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

Example of Signup page styled using django-crispy-forms


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads