Releases: OpenRoost/django-tpl
Releases · OpenRoost/django-tpl
2025.10rc1
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.pyand project settings - PostgreSQL database pre-configured
- No need to run
django-admin startproject
Modern Dependency Management
- Migrated from Poetry to
uvpackage manager - Modern
pyproject.tomlwith 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
.editorconfigwith comprehensive formatting rules- Black code formatter in dev dependencies
- pytest-django for testing
.python-versionfile 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/directorydocker-compose.yml→containers/compose.yamlstatic/→staticfiles/directory- Added
src/for Django project code
Database Setup
- Dedicated
djangouser created automatically - Database:
django(owner:django) - Superuser:
postgres/postgres - App user:
django/django
🗑️ Removed
- Poetry configuration files (
poetry.lock, Poetry-specificpyproject.toml) requirements.txt(replaced bypyproject.toml)- Legacy
docker/structure
📦 Container Services
| Service | Image | Port | Purpose |
|---|---|---|---|
| database | postgres:16.10-alpine | 5432 | PostgreSQL database |
| pgadmin | dpage/pgadmin4 | 8032 | Database administration |
| mailhog/mailhog:v1.0.1 | 1025 | SMTP server (testing) | |
| 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 WindowsInstall dependencies
uv sync
Start containers
cd containers
docker compose up -dRun migrations
cd ../src
python manage.py migrateCreate superuser
python manage.py createsuperuser
Run development server
python manage.py runserver
📝 Migration from Previous Versions
- Install
uv:pip install uvor use installer from https://astral.sh/uv - Update dependency installation:
uv venv && uv sync - Move to
containers/directory for Docker commands - Update database credentials if needed
- Update import statements if using psycopg2 directly
⚠️ Breaking Changes
- Package manager: Must use
uvorpipinstead of Poetry - Container paths: Update scripts referencing
docker/tocontainers/ - Static files: Path changed from
static/tostaticfiles/ - 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.