A batteries-included Django starter project for building web-apps and REST APIs quickly.
It's designed to help you get started with a solid foundation. Once started, it's easy to extend, update, and add or remove parts as you'd normally do. This starter project is a little bit opinionated, but highly extensible.
- Django 5.2.9 - Latest Django framework
- Django REST Framework - Full-featured REST API toolkit
- Django Extensions - Includes
shell_plusand other useful management commands - WhiteNoise - Simplified static file serving
- Custom User Model -
CoreUsermodel ready for extension - DotEnv Support - Supply a
.envfiles to set your environment variables - Postgres by default - Uses Postgresql with the latest version of
psycopgby default
- Celery - Using Redis as a backend
- Scheduling - Scheduled tasks using Celery Beat
Pre-configured apis app with:
- API key authentication system
- Versioned and extendable API structure (
v1) - Base API classes and utilities
- Example endpoints for accounts and API key management
- Simple test suite
- IPython - Enhanced interactive shell
- shell_plus - Auto-imports models and utilities
- Configurable logging (console handler with verbose formatting)
Install dependencies:
uv syncRun migrations:
python manage.py migrateCreate a superuser:
python manage.py createsuperuserStart the development server:
python manage.py runserverUse the enhanced shell:
python manage.py shell_plusRun Celery and Celery Beat
./bin/celery.sh