I recently discovered Lithium (formerly DjangoX), a starter template for Django projects. It is simple and for the most part covers most projects I’ve ever started with the following features:
- Django 5.1 & Python 3.12
- Installation via Pip or Docker
- User authentication—log in, sign up, password reset—via django-allauth
- Static files configured with Whitenoise
- Styling with Bootstrap v5
- Debugging with django-debug-toolbar
- DRY forms with django-crispy-forms
- Custom 404, 500, and 403 error pages
There are other more elaborate projects out there such as cookiecutter-django but they often come with a lot of features I don’t need and the codebase starts off bloated.
I liked the idea of Lithium and will probably create my own version of it in the future.
It would probably include the following, on top of the Lithium features:
- Tailwind (really speeds up design)
- Allauth (social authentication is a standard these days)
- HTMX (became a fan of this and works with most CRUD apps, which is to say most apps)
I’d remove bootstrap and use tailwind for styling replacement.