A batteries-included Django starter project for building web-apps and REST APIs quickly.
Find a file
2026-02-10 11:54:46 +09:00
apis Add formatter/sorter 2025-12-08 13:57:45 +09:00
bin Adds celery/celery beat 2026-02-08 21:08:25 +09:00
core Fix example commands for diehard UV users 2026-02-10 11:54:46 +09:00
.gitignore Adds celery/celery beat 2026-02-08 21:08:25 +09:00
LICENSE.md Adds license 2025-12-03 16:20:53 +09:00
manage.py Adds README.md 2025-12-03 16:19:22 +09:00
pyproject.toml Adds celery/celery beat 2026-02-08 21:08:25 +09:00
README.md Updates readme 2026-02-08 21:11:17 +09:00
uv.lock Adds celery/celery beat 2026-02-08 21:08:25 +09:00

Django Starter Project

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.

What's Included

Core Features

  • Django 5.2.9 - Latest Django framework
  • Django REST Framework - Full-featured REST API toolkit
  • Django Extensions - Includes shell_plus and other useful management commands
  • WhiteNoise - Simplified static file serving
  • Custom User Model - CoreUser model ready for extension
  • DotEnv Support - Supply a .env files to set your environment variables
  • Postgres by default - Uses Postgresql with the latest version of psycopg by default

Asynchronous Tasks

  • Celery - Using Redis as a backend
  • Scheduling - Scheduled tasks using Celery Beat

APIs App

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

Development Tools

  • IPython - Enhanced interactive shell
  • shell_plus - Auto-imports models and utilities
  • Configurable logging (console handler with verbose formatting)

Quick Start

Install dependencies:

uv sync

Run migrations:

python manage.py migrate

Create a superuser:

python manage.py createsuperuser

Start the development server:

python manage.py runserver

Use the enhanced shell:

python manage.py shell_plus

Run Celery and Celery Beat

./bin/celery.sh