Convert Figma logo to code with AI

timonweb logodjango-tailwind

Django + Tailwind CSS = 💚

1,438
88
1,438
23

Top Related Projects

A Tailwind CSS frontend preset for the Laravel Framework

😎 Awesome things related to Tailwind CSS

Tailwind Starter Kit a beautiful extension for TailwindCSS, Free and Open Source

Beautiful typographic defaults for HTML you don't control.

Quick Overview

Django-Tailwind is a Django integration package for the Tailwind CSS framework. It simplifies the process of incorporating Tailwind CSS into Django projects by providing a seamless setup, management, and build process for Tailwind within the Django ecosystem.

Pros

  • Easy integration with Django projects
  • Automated setup and build process for Tailwind CSS
  • Supports hot-reloading for rapid development
  • Includes a Django management command for compiling Tailwind CSS

Cons

  • Requires Node.js and npm to be installed
  • May add complexity to smaller projects that don't need extensive CSS customization
  • Learning curve for developers unfamiliar with Tailwind CSS
  • Potential performance overhead due to additional build steps

Code Examples

  1. Installing django-tailwind:
INSTALLED_APPS = [
    # ...
    'tailwind',
    'theme',
    # ...
]

TAILWIND_APP_NAME = 'theme'
  1. Creating a new Tailwind CSS theme:
python manage.py tailwind init
  1. Starting the Tailwind CSS development server:
python manage.py tailwind start
  1. Building Tailwind CSS for production:
python manage.py tailwind build

Getting Started

  1. Install django-tailwind:

    pip install django-tailwind
    
  2. Add 'tailwind' to INSTALLED_APPS in settings.py:

    INSTALLED_APPS = [
        # ...
        'tailwind',
        # ...
    ]
    
  3. Create a new Tailwind CSS theme:

    python manage.py tailwind init
    
  4. Add your theme app to INSTALLED_APPS:

    INSTALLED_APPS = [
        # ...
        'tailwind',
        'theme',  # your newly created theme app
        # ...
    ]
    
  5. Set TAILWIND_APP_NAME in settings.py:

    TAILWIND_APP_NAME = 'theme'
    
  6. Install Tailwind CSS dependencies:

    python manage.py tailwind install
    
  7. Start the Tailwind CSS development server:

    python manage.py tailwind start
    
  8. Include Tailwind CSS in your base template:

    {% load static %}
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <link href="{% static 'css/dist/styles.css' %}" rel="stylesheet">
    </head>
    <body>
        <!-- Your content here -->
    </body>
    </html>
    

Now you can start using Tailwind CSS classes in your Django templates.

Competitor Comparisons

A Tailwind CSS frontend preset for the Laravel Framework

Pros of laravel-frontend-presets/tailwindcss

  • Seamless integration with Laravel's frontend scaffolding system
  • Provides a complete Laravel-specific Tailwind CSS setup out of the box
  • Includes pre-configured Laravel Mix settings for Tailwind CSS

Cons of laravel-frontend-presets/tailwindcss

  • Limited to Laravel projects, not suitable for other PHP frameworks or non-PHP projects
  • Less flexible configuration options compared to django-tailwind
  • Requires manual updates to stay current with the latest Tailwind CSS versions

Code Comparison

django-tailwind:

INSTALLED_APPS = [
    # ...
    'tailwind',
    'theme',
    # ...
]

TAILWIND_APP_NAME = 'theme'

laravel-frontend-presets/tailwindcss:

use Laravel\Ui\UiCommand;
UiCommand::macro('tailwindcss', function ($command) {
    TailwindCssPreset::install();
    $command->info('Tailwind CSS scaffolding installed successfully.');
});

The django-tailwind setup involves adding the app to INSTALLED_APPS and specifying the app name, while laravel-frontend-presets/tailwindcss uses Laravel's UI command system to install the preset.

😎 Awesome things related to Tailwind CSS

Pros of awesome-tailwindcss

  • Comprehensive collection of Tailwind CSS resources, tools, and plugins
  • Community-driven with frequent updates and contributions
  • Covers a wide range of Tailwind CSS use cases and integrations

Cons of awesome-tailwindcss

  • Not specific to Django integration
  • Requires manual implementation of Tailwind CSS in Django projects
  • May overwhelm users with too many options and resources

Code Comparison

awesome-tailwindcss doesn't provide specific code examples, as it's a curated list of resources. However, django-tailwind offers a straightforward integration:

# settings.py
INSTALLED_APPS = [
    # ...
    'tailwind',
    'theme',
    # ...
]

TAILWIND_APP_NAME = 'theme'

Summary

awesome-tailwindcss is a valuable resource for Tailwind CSS enthusiasts, offering a wide range of tools and resources. However, django-tailwind provides a more focused solution for Django developers looking to integrate Tailwind CSS into their projects with minimal setup. While awesome-tailwindcss offers more flexibility and options, django-tailwind streamlines the integration process specifically for Django applications.

Tailwind Starter Kit a beautiful extension for TailwindCSS, Free and Open Source

Pros of tailwind-starter-kit

  • Framework-agnostic, can be used with any JavaScript framework or vanilla HTML
  • Includes pre-designed components and templates for quick prototyping
  • Comprehensive documentation with examples and live previews

Cons of tailwind-starter-kit

  • Less integrated with Django ecosystem
  • Requires more manual setup for Django projects
  • May include unnecessary components for Django-specific applications

Code Comparison

django-tailwind (Django-specific setup):

INSTALLED_APPS = [
    # ...
    'tailwind',
    'theme',
    # ...
]

TAILWIND_APP_NAME = 'theme'

tailwind-starter-kit (Generic HTML setup):

<link href="https://unpkg.com/tailwindcss@^2/dist/tailwind.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/gh/alpinejs/alpine@v2.x.x/dist/alpine.min.js" defer></script>

The django-tailwind package offers tighter integration with Django projects, including management commands and automatic compilation. The tailwind-starter-kit provides a more flexible, framework-agnostic approach but requires manual integration with Django projects.

Beautiful typographic defaults for HTML you don't control.

Pros of tailwindcss-typography

  • Framework-agnostic, can be used with any web project
  • Focused specifically on typography, providing detailed text styling
  • Maintained by the official Tailwind CSS team

Cons of tailwindcss-typography

  • Requires manual integration with Django projects
  • Lacks Django-specific features and optimizations
  • May require additional configuration for Django templates

Code Comparison

tailwindcss-typography:

<article class="prose lg:prose-xl">
  <h1>Garlic bread with cheese: What the science tells us</h1>
  <p>For years parents have espoused the health benefits of eating garlic bread with cheese to their children.</p>
</article>

django-tailwind:

# settings.py
INSTALLED_APPS = [
    # ...
    'tailwind',
    'theme',
    # ...
]

TAILWIND_APP_NAME = 'theme'

The tailwindcss-typography example shows how to apply typography classes directly in HTML, while django-tailwind demonstrates the Django-specific configuration in the settings file.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Tailwind CSS integration for Django a.k.a. Django + Tailwind = 💚

Django Tailwind Demo

Goal

This project aims to provide a comfortable way of using the Tailwind CSS framework within a Django project.

Features

  • An opinionated Tailwind CSS setup that makes your life easier;
  • Hot reloading of CSS, configuration files, and Django templates. No more manual page refreshes!
  • Out of the box support for CSS imports, SASS-like variables, and nesting;
  • Includes official Tailwind CSS plugins like typography, form, line-clamp, and aspect-ratio;
  • Supports the latest Tailwind CSS v3.x;

For instructions on upgrading from v2 to v3, see this post on my blog.

Requirements

Python 3.10 or newer with Django >= 3.2 or newer.

Documentation

The full documentation is at https://django-tailwind.readthedocs.io/

Installation

Via PIP:

pip install django-tailwind

[RECOMMENDED IN DEV] If you want to use automatic page reloads during development use the [reload] extras, which installs the django-browser-reload package in addition:

pip install 'django-tailwind[reload]'

Check docs for the Installation instructions.

Bugs and suggestions

Please see CONTRIBUTING.

2019 - 2023 (c) Tim Kamanin - A Full Stack Django Developer