এই মডিউলে দেখব কিভাবে সেশন স্টোরেজে ডেটা সেট করা, ভিউ করা ও ডিলিট করা যায়।
সেশন সেট করা, ভিউ করা ও ডিলিট করার জন্য যথাক্রমে set_session( ) , get_session( ) ,del_session( ) ফাংশনগুলি লিখে ফেলি-
Code:: 11.9.1
first_app/views.py
from django.shortcuts import render
from django.shortcuts import render
from datetime import datetime, timedelta
from django.http import HttpResponse
# cookie ---
...
...
...
def set_session(request):
# data = {
# 'name' : 'rahim',
# 'age' : 23,
# 'language' : 'Bangla'
# }
# print(request.session.get_session_cookie_age())
# print(request.session.get_expiry_date())
# request.session.update(data)
request.session['name'] = 'Karim'
return render(request,'set_session.html')
def get_session(request):
name = request.session.get('name', 'Guest')
return render(request,'get_session.html' ,{'name' : name})
def del_session(request):
# del request.session['name']
request.session.flush()
return render(request,'del_session.html')
set_session ফাংশনে 'name' নামে একটি সেশন সেট করা হয়েছে যার ভ্যালু রাখা হয়েছে 'karim'
delete ফাংশনে session.flush() ফাংশন ব্যবহার করে session ডেটা ডিলিট করা হয়েছে
যে ফাইলগুলো রেন্ডার করে cookie সেট করা, ভিউ করা ও ডিলিট করা হবে সে ফাইলগুলো লিখে ফেলি-
Code:: 11.9.2
first_app/templates/set_session.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>This is home page</h1>
<h1>Session is setting... </h1>
<h4>{{name}}</h4>
</body>
</html>
Code:: 11.9.3
first_app/templates/get_session.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>Session is getting</h1>
<p>{{name}}</p>
</body>
</html>
Code:: 11.9.4
first_app/templates/del_session.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>Session is deleting... </h1>
</body>
</html>
first_app এর URL-প্যাটার্ন নিচের মত করে লিখে ফেলি-
Code:: 11.9.5
first_app/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('set/',views.set_session),
path('get/',views.get_session),
path('del/',views.del_session),
]
এবার, প্রজেক্ট রান করে set_session( ) , get_session( ) ,del_session( ) ফাংশনগুলির কার্যকারিতা যাচাই করি-