My default Django development setup

If I am lucky enough to start a greenfield project these days and I knew this was going into production at some point, my defaults are as follows. I use django-cookiecutter as a template selecting Docker, Celery and Sentry, the other settings I care less about immediately. Our database is always Postgres.

I then add the following to the local setup. First up is to create a ca container service which uses mkcert to allow for local self-signed SSL certs for the whole dev environment. This includes SSL between Django and Postgres and any connection to the browser. It also means I have some nice hostnames by editing /etc/hosts

I also default to adding minio as a container service to allow for an S3 API interface locally for static and media files. This should mean that I can work offline if required.

Finally I tend to add a .shortcuts file with handy aliases specific to the project which can be activiated using source .shortcuts

But I am rarely this lucky so I am normally iterating towards this type of setup depending on the state of the codebase!