A comprehensive 16-week Django mentorship curriculum designed to take you from complete beginner to production-ready expert. Built with modern tools, real-world projects, and a scalable submission system for 1000+ learners.
🌟 Star this repo if you're learning Django or find it useful!
🔀 Fork it to start your journey and submit your weekly work.
This curriculum is structured into weekly tasks, each building upon the previous. By the end, you'll have built multiple real-world projects and understand Django's internals deeply.
Week 01-04: Foundation → Python, Environment, Django Basics
Week 05-08: Core Django → Models, Views, Templates, Forms
Week 09-12: Advanced Django → REST APIs, Authentication, Testing
Week 13-16: Production → Deployment, Performance, Security
We enforce modern, best-practice tooling throughout this program:
| Tool | Purpose | Why Not Alternatives |
|---|---|---|
| uv | Package & environment management | 10-100x faster than pip, replaces pip, pip-tools, virtualenv, and pyenv |
| ruff | Linting & formatting | Replaces flake8, black, isort - single tool, blazingly fast |
| pytest | Testing | More pythonic, better fixtures than unittest |
| pre-commit | Git hooks | Automate code quality checks |
| Docker | Containerization | Consistent environments |
| PostgreSQL | Database | Production-grade, what you'll use in real jobs |
django-mentorship/
├── README.md # This file
├── week-01-environment-setup/ # Python, uv, Git fundamentals
├── week-02-python-foundations/ # Python concepts for Django
├── week-03-django-intro/ # First Django project
├── week-04-models-basics/ # ORM fundamentals
├── week-05-views-urls/ # Request/response cycle
├── week-06-templates/ # Django template language
├── week-07-forms/ # Form handling & validation
├── week-08-admin/ # Django admin customization
├── week-09-authentication/ # Users, permissions, sessions
├── week-10-rest-api/ # Django REST Framework
├── week-11-testing/ # pytest & test strategies
├── week-12-advanced-orm/ # Complex queries, optimization
├── week-13-caching-performance/ # Redis, query optimization
├── week-14-celery-async/ # Background tasks
├── week-15-deployment/ # Docker, CI/CD, production
└── week-16-capstone/ # Final project
# Fork on GitHub first, then:
git clone https://github.com/YOUR_USERNAME/django-mentorship.git
cd django-mentorship# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
# Verify installation
uv --versionNavigate to week-01-environment-setup/ and follow the README.
Each week follows this pattern:
- Read the week's README completely
- Study linked documentation sections
- Complete the exercises in order
- Build the weekly project in your fork
- Submit: Create a branch
submission/<your-github-username>/week-XX, push to your fork, and open a Pull Request to this repo's main (for review only – no merges!) - Review: Get feedback from mentors/community
Why this works at scale: Forks isolate work (no overrides), PRs allow unlimited reviews without touching main. Main repo stays clean with only challenges.
Track your progress:
- Week 01: Environment Setup
- Week 02: Python Foundations
- Week 03: Django Introduction
- Week 04: Models Basics
- Week 05: Views & URLs
- Week 06: Templates
- Week 07: Forms
- Week 08: Admin
- Week 09: Authentication
- Week 10: REST API
- Week 11: Testing
- Week 12: Advanced ORM
- Week 13: Caching & Performance
- Week 14: Celery & Async
- Week 15: Deployment
- Week 16: Capstone Project
- Django Official Documentation
- Django REST Framework
- Two Scoops of Django (Recommended)
- uv Documentation
- ruff Documentation
- Type everything - No copy-paste. Muscle memory matters.
- Read errors carefully - They tell you exactly what's wrong.
- Use documentation first - Before Stack Overflow, read the docs.
- Understand, don't memorize - Know WHY, not just HOW.
- Build real things - Theory without practice is useless.
This project is open source! Help make it better:
- Improve weeks/exercises
- Fix typos or add explanations
- Translate content
Ready? Start with Week 01: Environment Setup