Hi HN,<p>I’ve built a Django Starter Template to simplify and enhance the process of starting a new Django project. It’s focused on improving developer experience (DX) with:<p>- Dynamic Initialization: Automatically replaces placeholders like {{ project_name }} during setup.
- Pre-configured Tools: Comes with Black, isort, Flake8, and pre-commit hooks out of the box.
- Modular Settings: Separate configurations for development, testing, and production.
- Makefile Commands: Quick access to tasks like formatting, linting, and running the server.
- Clean and Scalable Structure: Encourages best practices for projects of any size.<p>Why this template?<p>Unlike many Django boilerplates, this one uses Django’s native startproject --template command (no Cookiecutter needed!) and is designed to be flexible without being overly opinionated. It’s perfect for beginners, experienced devs, and teams looking for consistency and speed.<p>Comparison with Alternatives:<p>- No extra dependencies like Cookiecutter—just Django’s built-in tools.
- DX-focused with Makefile shortcuts and pre-commit hooks for a smoother workflow.
- Production-ready yet easy to customize.<p>Target Audience:<p>This is great for:<p>- Beginners needing best-practice scaffolding.
- Teams wanting consistent project setup.
- Intermediate/advanced devs who need a solid foundation they can tweak.
- Check it out on GitHub: <a href="https://github.com/grandimam/django-boot">https://github.com/grandimam/django-boot</a><p>I’d love to hear your thoughts and feedback. What features would you like to see in a Django starter template?
IMO One thing that this gets right is naming the package that has settings.py "config". If you use "django-admin startproject <name>" it uses "<name>" for the config package which may not be a good name for a package that mostly will contain configuration.<p>Another feature might be a script to generate an app which includes a urls.py, and template directory, etc.