🌐 Lesson 51: Django Tutorial (Web Development Basics)
1. What is Django?
In short → Django is a high-level web framework for Python, great for rapid development (building things fast) and clean design (a tidy structure).
English → Django is a high-level Python web framework that encourages rapid development and clean, pragmatic design.
2. Why Use Django?
- Comes with built-in features (authentication, admin panel, ORM)
- Great security (protects against SQL injection, XSS, CSRF)
- Scalable → build anything from small projects to enterprise-level apps
3. Summary
✅ Django = Python web framework
✅ Built-in features → admin, ORM, authentication
✅ Project structure → settings, urls, apps
✅ ORM → lets you handle the database with Python classes
python
# ===== 1. Django Installation =====
print("===== Installation =====")
print("# pip install django")
print("# django-admin startproject myproject")
print("# cd myproject")
print("# python manage.py runserver")
# ===== 2. Project Structure =====
print(f"\n===== Project Structure =====")
print("myproject/")
print("│── manage.py")
print("│── myproject/")
print(" │── __init__.py")
print(" │── settings.py → project settings")
print(" │── urls.py → URL routes")
print(" │── wsgi.py")
# ===== 3. Creating an App =====
print(f"\n===== Create App =====")
print("# python manage.py startapp myapp")
print(f"\n===== views.py =====")
print("from django.http import HttpResponse")
print("")
print("def home(request):")
print(" return HttpResponse('Hello, Django!')")
print(f"\n===== urls.py =====")
print("from django.urls import path")
print("from myapp import views")
print("")
print("urlpatterns = [")
print(" path('', views.home),")
print("]")
# ===== 4. Django Admin =====
print(f"\n===== Admin Panel =====")
print("# python manage.py createsuperuser")
print("# Visit http://127.0.0.1:8000/admin")
# ===== 5. Django ORM Example =====
print(f"\n===== ORM Example =====")
print("# models.py")
print("from django.db import models")
print("")
print("class Task(models.Model):")
print(" title = models.CharField(max_length=100)")
print(" completed = models.BooleanField(default=False)")
print("")
print("# python manage.py makemigrations")
print("# python manage.py migrate")
# ===== 6. Real-World Use Cases =====
print(f"\n===== Use Cases =====")
print("✅ Blog websites")
print("✅ E-commerce platforms")
print("✅ Social media apps")
print("✅ APIs for mobile apps")You should see
===== Installation ===== # pip install django # django-admin startproject myproject # cd myproject # python manage.py runserver ===== Project Structure ===== myproject/ │── manage.py │── myproject/ │── __init__.py │── settings.py → project settings │── urls.py → URL routes │── wsgi.py ===== Create App ===== # python manage.py startapp myapp ===== views.py ===== from django.http import HttpResponse def home(request): return HttpResponse('Hello, Django!') ===== urls.py ===== from django.urls import path from myapp import views urlpatterns = [ path('', views.home), ] ===== Admin Panel ===== # python manage.py createsuperuser # Visit http://127.0.0.1:8000/admin ===== ORM Example ===== # models.py from django.db import models class Task(models.Model): title = models.CharField(max_length=100) completed = models.BooleanField(default=False) # python manage.py makemigrations # python manage.py migrate ===== Use Cases ===== ✅ Blog websites ✅ E-commerce platforms ✅ Social media apps ✅ APIs for mobile apps