Simple quickstart for Django-based projects created as cookiecutter template.
- Exception handling (
ProblemDetailException
,ValidationException
prepared for django_api_forms) - Basic security (signature middleware, Argon password hasher)
- Hard/soft delete for models
- Custom
User
model - Response objects (
SingleResponse
,ValidationResponse
) - pydantic response serialisation
- Custom JSON encoder
- Configuration using
.env
files - Sentry integration
- Dependency management using poetry
- Multi-environment settings
- E-mail testing using django-imap-backend in
development
environment - CRON job management
- django_api_forms: Request validation
- python-dotenv:
.env
handling - porcupine-python: Response serialisation
- django-imap-backend: Custom e-mail backend for simplified testing
- django-celery-beat: CRON jobs
You need to have installed cookiecutter in your system, then you can call. You will be asked a few questions about the new project (name, target directory):
cookiecutter gh:backbonesk/django-project-template
- Check
pyproject.toml
and change theauthors
list cd {{ directory_name }}
python -m venv venv
poetry install && poetry update
- Remove stuff you don't need (template is feature rich on purpose, it's easier to delete than create)
- You are supposed to create superuser using
python manage.py createsuperuser
- When the project is set up, you can call
{baseurl}/status
to check if everything is up and running - Take a coffee and celebrate life, you saved a plenty of time!
Made with ❤️ and ☕️ BACKBONE s.r.o. (c) 2024