If you’re looking to set up Tailwind in Django, this guide will walk you through the installation and configuration process on Windows, macOS, and Linux. Tailwind CSS is a powerful framework that allows you to create custom designs with ease and integrating it into your Django project can significantly enhance the front-end styling. Follow these simple steps to get Tailwind running smoothly in your Django environment.

Why Use Tailwind with Django?
Tailwind CSS provides a modern approach to styling by offering pre-defined utility classes that make designing responsive web pages fast and flexible. When integrated with Django, Tailwind allows you to style your pages efficiently while keeping the HTML clean and maintainable.
Prerequisites
To get started, you’ll need the following:
- Python 3.x installed
- Django installed (
pip install django
) - Node.js and npm installed
Tip: If you haven’t installed pip
, upgrade it by running:
python -m ensurepip –upgrade
# Or upgrade pip directly python -m pip install –upgrade pip
python -m pip install –upgrade pip
Installing Tailwind CSS in Django
Step 1: Start by creating a Django project (if you haven’t already):
django-admin startproject myproject
cd myproject
Step 2: Install django-tailwind
, a Django package that integrates Tailwind CSS:
pip install django-tailwind
pip install ‘django-tailwind[reload]’
The above commands install django-tailwind
, along with the [reload]
package, enabling hot reloading during development.
Step 3: Add tailwind
to your Django project’s INSTALLED_APPS
in settings.py
:
INSTALLED_APPS = [
# other Django apps
‘tailwind’,
]
Step 4: Initialize Tailwind by creating a theme app:
python manage.py tailwind init
python manage.py tailwind init
After running this command, set TAILWIND_APP_NAME
in settings.py
to the name of your newly created theme app (e.g., theme
):
TAILWIND_APP_NAME = ‘theme’
Configuring Tailwind in Django
Now, let’s configure Tailwind and Node.js paths:
Step 1: Add your theme app (e.g., theme
) to INSTALLED_APPS
:
INSTALLED_APPS = [
# other Django apps
‘theme’,
]
Step 2: Define the path to npm in settings.py
:
NPM_BIN_PATH = ‘/usr/local/bin/npm’ # macOS/Linux
NPM_BIN_PATH = r”C:\Program Files\nodejs\npm.cmd” # Windows
Step 3: Run the Tailwind install command to generate Tailwind files:
python manage.py tailwind install
This command will install the necessary Tailwind CSS files, including tailwind.config.js
and CSS files.
Running Tailwind with Hot Reloading
To enable hot reloading, you’ll use the django_browser_reload package, which monitors code changes and automatically reloads the page.
Step 1: Add django_browser_reload to your INSTALLED_APPS:
INSTALLED_APPS = [
# other Django apps
‘django_browser_reload’,
]
Step 2: Update the MIDDLEWARE
setting to include the reload middleware:
MIDDLEWARE = [
# other middlewares
“django_browser_reload.middleware.BrowserReloadMiddleware”,
]
Step 3: Add the following URL configuration in urls.py
:
from django.urls import include, path
urlpatterns = [
# other paths
path(“reload/”, include(“django_browser_reload.urls”)),
]
Using Tailwind in Django Templates
To use Tailwind CSS classes in your Django templates, load the Tailwind static files in the HTML templates. For example, in base.html
, load the tailwind_tags
and use {% tailwind_css %}
to include Tailwind CSS:
{% load tailwind_tags %}
…
… {% tailwind_css %} …
Now, you can use Tailwind utility classes directly within your HTML templates!
Final Steps and Testing
To test your setup, you’ll need two terminal windows:
First Terminal: Start the Django server:
python manage.py runserver
Second Terminal: Start the Tailwind CSS watcher:
python manage.py tailwind start
Note: For production builds, run python manage.py tailwind build
instead of start
.
Using Tailwind in Django Admin
You can also customize the Django Admin with Tailwind CSS classes. However, for a fully integrated solution, consider using a package designed to style Django Admin with Tailwind.
Conclusion
You’ve successfully set up Tailwind CSS in Django! With Tailwind installed, you can quickly style your Django templates with modern, responsive designs. From enabling hot reloading to customizing the admin panel, you’re now ready to leverage the full power of Tailwind CSS in your Django projects.