Announcement
After almost 10 years maintining this cookiecutter and with joy doing it so, it's now the time to retire it.
The painful reason behind it has nothing toon with Django but bigger projects came out since its inception like Dymmond and my focus has shifted towards it and my time became constrained.
I'm also the creator of:
And many others that require special dedicated attention and maintenance.
I would personally invite you to join me there and help growing them.
I also personally thank you for the support and for using this great cookiecutter that was also my first biggest open source contribution back in the day.
Cookiecutter Django with PostGres + Docker + DramatiQ and optional APScheduler
This is a cookiecutter application that aims to help people speeding up the development process. We use django-guardian for user permissions if not using external services (Auth0, Google...) as we see it fit and easy to use as well as simple to manipulate complex object permissions.
Table of Contents
Introduction
Every time a new django project needs to be set, a lot of settings and configurations need to be also set and this cookiecutter offers a lot of boilerplating including:
- Login
- Task Manager with Dramatiq
- Django Rest Framework
- Redis
- RabbitMQ
- PGBouncer for database accesses
- django-guardian
- MongoDB as Optional
All of this using docker.
Requirements
To use this cookiecutter you should have at least.
- Docker
- Python 3.8
- Any virtual environment at your choice
Cookiecutter
- Cookiecutter - More details how to use and install here
Task Manager
This project implements dramatiq
The project also contains inside the development/settings.py
a DRAMATIQ_BROKER
specially
designed for developement. For users used to CELERY_TASK_ALWAYS_EAGER=True
, this broker
has a similar behaviour. Special thanks to @dnmellen for providing an alternative.
Install the template
cookiecutter https://github.com/tarsil/cookiecutter-django
and follow the instructions. When giving a name to your project, avoid dashes by using underscores instead.