A Django REST Framework template for building RESTful APIs
Find a file
2025-09-01 02:10:28 +08:00
.docker Move to uv/pyproject and overhaul project structure 2025-09-01 02:10:28 +08:00
.woodpecker Move to uv/pyproject and overhaul project structure 2025-09-01 02:10:28 +08:00
src Move to uv/pyproject and overhaul project structure 2025-09-01 02:10:28 +08:00
.dockerignore Move to uv/pyproject and overhaul project structure 2025-09-01 02:10:28 +08:00
.env.sample Move to uv/pyproject and overhaul project structure 2025-09-01 02:10:28 +08:00
.gitignore Move to uv/pyproject and overhaul project structure 2025-09-01 02:10:28 +08:00
.python-version Move to uv/pyproject and overhaul project structure 2025-09-01 02:10:28 +08:00
docker-compose.dev.yml Move to uv/pyproject and overhaul project structure 2025-09-01 02:10:28 +08:00
Dockerfile Move to uv/pyproject and overhaul project structure 2025-09-01 02:10:28 +08:00
pyproject.toml Move to uv/pyproject and overhaul project structure 2025-09-01 02:10:28 +08:00
README.md Move to uv/pyproject and overhaul project structure 2025-09-01 02:10:28 +08:00
uv.lock Move to uv/pyproject and overhaul project structure 2025-09-01 02:10:28 +08:00

DRF-Template

Build Status Demo Page Status

A Django REST Framework template for personal use in projects.

  • Emails (and templated email designs)
  • Caching (via Redis)
  • Debug mode profiling (via Django Silk)
  • A working Woodpecker CI/CD template for automated deployments

A live API demo can be found here

Development

  • Create a copy of the .env.sample file and name it as .env in the same directory
  • Populate .env with values
  • Run docker-compose -f docker-compose.dev.yml up

When using docker-compose.dev.yml, the entire project directory is mounted onto the container allowing for hot-reloading. This requires DEBUG to be set to True.

Also make sure to follow through the steps shown in the stripe-listener container for initial setup with Stripe.

Deployment

A sample docker-compose.yml is provided which I use in hosting the demo. DEBUG should be set to False when deploying as to not expose the URLs fro Celery Flower and the Django Silk Profiler. The local Inbucket container is not present with DEBUG turned off so make sure to specify an external SMTP server to process emails properly.

URLs