Cookie and Session
Cookie
Cookie is a small piece of data that a website saves in your browser to remember you or your preferences (like name, login status, language, etc.).
🧑💻 1. views.py
from django.http import HttpResponse
# Set Cookie
def set_cookie(request):
response = HttpResponse("Cookie has been set")
response.set_cookie('user_name', 'Raj', max_age=3600) # expires in 1 hour
return response
# Get Cookie
def get_cookie(request):
name = request.COOKIES.get('user_name') # read cookie
return HttpResponse(f"Hello {name}")
🛣️ 2. urls.py
from django.urls import path
from . import views
urlpatterns = [
path('set-cookie/', views.set_cookie),
path('get-cookie/', views.get_cookie),
]
✅ Session Definition
Session is a way to store data on the server to remember the user between different pages (like login info, user ID, cart items, etc.)
from django.http import HttpResponse
# Set Session
def set_session(request):
request.session['user_id'] = 101 # store data in server-side session
return HttpResponse("Session has been set")
# Get Session
def get_session(request):
user_id = request.session.get('user_id') # read session data
return HttpResponse(f"User ID from session: {user_id}")
from django.urls import path
from . import views
urlpatterns = [
path('set-session/', views.set_session),
path('get-session/', views.get_session),
]
✅ Difference Between Cookie and Session
| Feature | Cookie | Session |
|---|---|---|
| 🔸 Storage | Stored in browser (client-side) | Stored on server (server-side) |
| 🔸 Security | Less secure (visible to user) | More secure (data hidden from user) |
| 🔸 Size Limit | ~4KB (limited) | No strict size limit |
| 🔸 Speed | Slightly faster (no server lookup) | Slightly slower (needs server access) |
| 🔸 Persistence | Can last even after browser closes (if set) | Lost when browser closes or session expires |
| 🔸 Use Case | Remember preferences (name, theme, language) | Login info, cart items, authentication |
| 🔸 User Access | User can see and edit cookies | User cannot see or modify session data easily |
| 🔸 Django Location | request.COOKIES and response.set_cookie() |
request.session |
Comments
Post a Comment