-
Install the python package django-tailwind from pip
pip install django-tailwind
Alternatively, you can download or clone this repo and run
pip install -e .
. -
Add
tailwind
to INSTALLED_APPS in settings.py -
Create a tailwind-compatible Django-app, I like to call it
theme
:python manage.py tailwind init theme
-
Add your newly created
theme
app to INSTALLED_APPS in settings.py -
In settings.py, register tailwind app by adding the following string:
TAILWIND_APP_NAME = 'theme'
-
Run a command to install all necessary dependencies for tailwind css:
python manage.py tailwind install
-
Now, go and start tailwind in dev mode:
python manage.py tailwind start
-
Django Tailwind comes with a simple
base.html
template that can be found underyourtailwindappname/templates/base.html
. You can always extend it or delete it if you have own layout. -
If you're not using
base.html
template provided with Django Tailwind, addstyles.min.css
to your ownbase.html
template file:<link rel="stylesheet" href="{% static 'css/styles.css' %}" type="text/css" />
-
You should now be able to use Tailwind CSS classes in your html.
-
To build a production version of CSS run:
python manage.py tailwind build
.
To avoid importing all of Tailwind (resulting in a massive CSS filesize), set up the purge configuration in tailwind.config.js
.
This file is located in the static_src
folder of the app created by tailwind init {APP_NAME}
.
For example, your tailwind.config.js
file could look like:
module.exports = {
purge: [
// Templates within theme app (e.g. base.html)
'../templates/**/*.html',
// Templates in other apps
'../../templates/**/*.html',
],
...
}
Note that you may need to adjust those paths to suit your specific project layout. It is important to ensure that all of your HTML files are covered (or files with contain HTML content, such as .vue or .jsx files), to enusre PurgeCSS can whitelist all of your classes.
For more information on this, check out the "Controlling File Size" page of the Tailwind docs: https://tailwindcss.com/docs/controlling-file-size/#removing-unused-css - particularly the "Removing Unused CSS" section, although the entire page is a useful reference.
To help speed up development builds, PurgeCSS is only run when you use the tailwind build
management command (to create a production build of your CSS).
Sometimes (especially on Windows), Python executable can't find NPM
installed in the system.
In this case, you need to set NPM
executable path in settings.py file manually (Linux/Mac):
NPM_BIN_PATH = '/usr/local/bin/npm'
On windows it might look like:
NPM_BIN_PATH = r"C:\Program Files\nodejs\npm.cmd"
Please note that NPM
path of your system may be different. Try to run which npm
in your
command line to get the path.
If you have found a bug, please use the issue tracker on GitHub.