A highly opinionated starter project which I use as a scaffold for all my Django projects.
Features
- Python 3.10, Django 4.1 and Django REST Framework 3.14.0
poetry
for managing dependenciespostgres
as a databaseredis
as cache and message queuedocker
for development, testing, and productioncelery
for asynchronous tasksblack
andisort
for neat code formattingpytest
andmimesis
for testingdjango-debug-toolbar
for debuggingdjango-filter
for easy filtering
No one forcing you to use any of these things, so if you don't need something then just don't use it.
What is missing?
You never know how your next project will look like, so there are no:
- Templates
- Forms
- Views
- Models (although there is a
TimestampMixin
model which is commonly used in every projects)
You have to add all these things yourself, according to your needs.
Keeping things in order
- Avoid duplication
- Keep your business logic in
app_name/logic/
- Always format your code using
scripts/format.sh
About
This template is inspired by wemake-django-template.