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

Popular posts from this blog

Mastering Django: Project and App Folder Structure

Mastering Django Template Language (DTL): A Step-by-Step Guide

How to Add Templates in Django: Step-by-Step Guide