Overview:
The django-htmx-starterkit is a Django starterkit that combines Django, HTMX, and Hyperscript to create a simple todo list application. It showcases how to achieve reactivity in a frontend without using a JavaScript framework, while still leveraging the benefits of a server-side framework like Django, including session authentication and templating.
Features:
- Supports latest Python 3.12
- Uses Poetry for managing dependencies.
- Built on Django (latest version 5).
- Utilizes HTMX to create modern and reactive user interfaces without the complexity of a JavaScript frontend framework.
- Utilizes Hyperscript, a companion JavaScript library for HTMX, to compose behavior directly in HTML.
- Includes Tailwindcss, a utility-first CSS framework, for easy styling.
- Includes DaisyUI, a Tailwind component library.
- Uses django-allauth for user authentication, registration, and account management.
- Organizes Django settings into multiple files and directories using django-split-settings.
- Provides support for multiple environments (e.g. development or production).
- Uses python-decouple to decouple configuration from loading environment variables and .env files.
- Includes mypy and django-stubs for static typing.
- Uses pytest and hypothesis for unit tests.
- Uses ruff for code linting and formatting, replacing flake8, black, and isort.
- Provides Docker support for local development, including Postgres.
- No complex frontend build pipeline. Only Postcss is used for Tailwindcss. Frontend reactivity is handled with HTMX and Hyperscript, without requiring a build step.
Summary:
The django-htmx-starterkit is a simple Django starterkit that demonstrates the reactivity of a frontend without using a JavaScript framework. It combines Django, HTMX, and Hyperscript, along with other tools and libraries, to create a basic todo list application. The starterkit provides easy installation and setup instructions, along with a comprehensive list of features for developers to leverage in their projects.