Django Lesson 1: What is Django?
Django is a high-level Python web framework. It follows “batteries included” philosophy — authentication, admin panel, ORM, security, and more come built-in.
Django vs Flask vs FastAPI
# Django: full-featured framework
# - Built-in admin, auth, ORM, forms, security
# - "Convention over configuration"
# - Great for: CMS, e-commerce, complex CRUD apps
# - Companies: Instagram, Pinterest, Disqus, Mozilla
# Flask: lightweight micro-framework
# - Minimal — add what you need
# - Great for: APIs, small apps, microservices
# FastAPI: modern async framework
# - Auto API docs, async support, type hints
# - Great for: REST APIs, ML model serving
Django Philosophy
- DRY (Don’t Repeat Yourself): Write things once
- Explicit is better than implicit: Clear config
- Loosely coupled: Each layer (Models, Views, Templates) is independent
- Security first: CSRF, SQL injection, XSS protection built in
🏋️ Practice Task
Visit djangoproject.com. Read “Why Django?” section. Find 5 large websites built with Django (the site lists them). Note what type of application each is.
💡 Hint: No code needed. Understanding Django’s strengths helps you choose when to use it.