Crispy Tailwind

1.0.3 · active · verified Fri Apr 17

crispy-tailwind provides a Tailwind CSS template pack for Django Crispy Forms, allowing developers to easily render forms with Tailwind's utility-first classes. It is currently at version 1.0.3 and has a moderately active release cadence, with frequent bug-fix releases and major versions adding support for newer Django and Python versions.

Common errors

Warnings

Install

Imports

Quickstart

After installing, add 'crispy_forms' and 'crispy_tailwind' to your `INSTALLED_APPS` in `settings.py`. Crucially, set `CRISPY_ALLOWED_TEMPLATE_PACKS = "tailwind"` and `CRISPY_TEMPLATE_PACK = "tailwind"`. Then, in your Django forms, instantiate a `FormHelper` and define your layout. Finally, render the form in your template using `{% load crispy_forms_tags %}` and `{% crispy form %}`.

# settings.py
INSTALLED_APPS = [
    # ...
    'crispy_forms',
    'crispy_tailwind',
    # ...
]

CRISPY_ALLOWED_TEMPLATE_PACKS = "tailwind"
CRISPY_TEMPLATE_PACK = "tailwind"

# forms.py
from django import forms
from crispy_forms.helper import FormHelper
from crispy_forms.layout import Layout, Submit

class ContactForm(forms.Form):
    name = forms.CharField(label='Your Name', max_length=100)
    email = forms.EmailField(label='Your Email')
    message = forms.CharField(label='Your Message', widget=forms.Textarea)

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.helper = FormHelper()
        self.helper.layout = Layout(
            'name',
            'email',
            'message',
            Submit('submit', 'Send', css_class='btn-primary mt-4')
        )

# template.html (e.g., in a Django view)
# {% load crispy_forms_tags %}
# <form method="post">
#     {% csrf_token %}
#     {% crispy form %}
# </form>

view raw JSON →