Skip to content

Releases: OpenRoost/django-tpl

2025.10rc1

01 Nov 13:04
707176d

Choose a tag to compare

2025.10rc1 Pre-release
Pre-release

Release Notes: v2025.10rc1

🎯 Overview

This release candidate modernizes the Django template with updated dependencies, improved tooling, and a complete project structure ready for immediate development.

✨ New Features

Pre-configured Django Project

  • Complete Django 5.2.7 project structure in src/ directory
  • Ready-to-use manage.py and project settings
  • PostgreSQL database pre-configured
  • No need to run django-admin startproject

Modern Dependency Management

  • Migrated from Poetry to uv package manager
  • Modern pyproject.toml with PEP 621 standard
  • Lock file (uv.lock) for reproducible installs
  • Faster dependency resolution

Enhanced Development Environment

  • pgAdmin 4 - Web-based PostgreSQL management (port 8032)
  • MailHog - Email testing with web UI (ports 1025/8025)
  • Caddy - Modern web server for static files (port 8888)
  • PostgreSQL 16.10 Alpine - Lightweight database container

Code Quality Tools

  • .editorconfig with comprehensive formatting rules
  • Black code formatter in dev dependencies
  • pytest-django for testing
  • .python-version file for pyenv

🔄 Changes

Updated Dependencies

  • Django: 5.0.1 → 5.2.7
  • PostgreSQL adapter: psycopg2-binary → psycopg[binary] (v3)
  • Python: >=3.10 (3.12 recommended)

Reorganized Structure

  • docker/containers/ directory
  • docker-compose.ymlcontainers/compose.yaml
  • static/staticfiles/ directory
  • Added src/ for Django project code

Database Setup

  • Dedicated django user created automatically
  • Database: django (owner: django)
  • Superuser: postgres / postgres
  • App user: django / django

🗑️ Removed

  • Poetry configuration files (poetry.lock, Poetry-specific pyproject.toml)
  • requirements.txt (replaced by pyproject.toml)
  • Legacy docker/ structure

📦 Container Services

Service Image Port Purpose
database postgres:16.10-alpine 5432 PostgreSQL database
pgadmin dpage/pgadmin4 8032 Database administration
mail mailhog/mailhog:v1.0.1 1025 SMTP server (testing)
mail mailhog/mailhog:v1.0.1 8025 Mail web interface
staticfiles caddy:2.10.2-alpine 8888 Static file server

🚀 Quick Start

# Create virtual environment
uv venv
source .venv/bin/activate  # or .venv\Scripts\activate on Windows

Install dependencies

uv sync

Start containers

cd containers
docker compose up -d

Run migrations

cd ../src
python manage.py migrate

Create superuser

python manage.py createsuperuser

Run development server

python manage.py runserver

📝 Migration from Previous Versions

  1. Install uv: pip install uv or use installer from https://astral.sh/uv
  2. Update dependency installation: uv venv && uv sync
  3. Move to containers/ directory for Docker commands
  4. Update database credentials if needed
  5. Update import statements if using psycopg2 directly

⚠️ Breaking Changes

  • Package manager: Must use uv or pip instead of Poetry
  • Container paths: Update scripts referencing docker/ to containers/
  • Static files: Path changed from static/ to staticfiles/
  • PostgreSQL adapter: Changed from psycopg2 to psycopg3
  • Ports: Static files now on 8888 (was 8080), pgAdmin on 8032 (was 5050)

🐛 Known Issues

  • Documentation is being updated and may be incomplete
  • Further refinements planned before final 2025.10 release

🔗 Resources

  • uv documentation: https://docs.astral.sh/uv/
  • Django 5.2 documentation: https://docs.djangoproject.com/en/5.2/
  • psycopg 3 documentation: https://www.psycopg.org/psycopg3/

Note: This is a release candidate. Documentation updates and minor refinements are expected before the final 2025.10 release.