# ১১-৮ঃ জ্যাংগোতে Cookie এর ব্যবহার

এই মডিউলে দেখব কিভাবে ব্রাউজারের কুকি তে ডেটা সেট করা, ভিউ করা ও ডিলিট করা যায়।

এর জন্য Ninth\_Project নামে নতুন একটি প্রজেক্ট ,এর মধ্যে first\_app নামে এ্যাপ তৈরি করে প্রজেক্টের ব্যাসিক কনফিগারেশন সমুহ সম্পন্ন করে ফেলি।

ব্রাউজারের কুকি সেট করা, ভিউ করা ও ডিলিট করার জন্য যথাক্রমে set\_cookie( ) , get\_cookie( )  ,del\_cookie( ) ফাংশনগুলি লিখে ফেলি-

<mark style="color:green;">**Code:: 11.8.1**</mark>\
<mark style="color:red;">first\_app/views.py</mark>

{% code lineNumbers="true" %}
```python
from django.shortcuts import render

# Create your views here.
from django.shortcuts import render
from datetime import datetime, timedelta
from django.http import HttpResponse
# cookie ---
def set_cookie(request):
    response = render(request, 'set_cookie.html')
    response.set_cookie('name', 'rahim')
    response.set_cookie('name', 'karim', expires=datetime.utcnow()+timedelta(days=7))
    return response
def get_cookie(request):
    name = request.COOKIES.get('name')
    print(request.COOKIES)
    return render(request, 'get_cookie.html', {'name':name})

def del_cookie(request):
    response = render(request, 'del_cookie.html')
    response.delete_cookie('name')
    return response

```
{% endcode %}

* ১০ নং লাইনে set\_cookie( ) ফাংশন ব্যবহার করে  'name' নামে একটি কুকি সেট করা হয়েছে যার ভ্যালু রাখা হয়েছে 'rahim'&#x20;
* ১৫ নং লাইনে COOKIES.get( ) ফাংশন ব্যবহার করে 'name' নামের কুকি name ভ্যারিয়েবলে রাখা হয়েছে
* ২০ নং লাইনে delete\_cookie( ) ফাংশন ব্যবহার করে 'name' নামের কুকি ডিলিট করা হয়েছে&#x20;

যে ফাইলগুলো রেন্ডার করে cookie সেট করা, ভিউ করা ও ডিলিট করা হবে সে ফাইলগুলো লিখে ফেলি-

<mark style="color:green;">**Code:: 11.8.2**</mark>\
<mark style="color:red;">first\_app/templates/set\_cookie.html</mark>

{% code lineNumbers="true" %}
```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>Cookie is setting... </h1>
    <h4>{{name}}</h4>
</body>
</html>
```
{% endcode %}

<mark style="color:green;">**Code:: 11.8.3**</mark>\
<mark style="color:red;">first\_app/templates/get\_cookie.html</mark>

{% code lineNumbers="true" %}
```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 get cookie page</h1>
    <h1>Cookie is getting... </h1>
    <h4>{{name}}</h4>
</body>
</html>
```
{% endcode %}

<mark style="color:green;">**Code:: 11.8.4**</mark>\
<mark style="color:red;">first\_app/templates/del\_cookie.html</mark>

{% code lineNumbers="true" %}
```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>Cookie is deleting... </h1>
</body>
</html>
```
{% endcode %}

first\_app এর URL-প্যাটার্ন নিচের মত করে লিখে ফেলি-

<mark style="color:green;">**Code:: 11.8.5**</mark>\
<mark style="color:red;">first\_app/urls.py</mark>

{% code lineNumbers="true" %}
```python
from django.urls import path
from . import views

urlpatterns = [
    path('set/',views.set_cookie),
    path('get/',views.get_cookie),
    path('del/',views.del_cookie),
]
```
{% endcode %}

এবার, প্রজেক্ট রান করে [http://127.0.0.1:8000/set/](http://127.0.0.1:8000/set/) URL-এ গিয়ে Right Click:- Inspect >> Application >> Cookies >> http://127.0.0.1:8000 -এ গেলে দেখা যাবে name নামের কুকি টি সেট হয়েছে ।

<figure><img src="https://3753355949-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZjZRCk5NYynvfinzJmZE%2Fuploads%2FANzYZbslOrMnmw0EgrWU%2Fimage.png?alt=media&#x26;token=1ff83955-435f-4bdf-b02a-44f9b2998fcc" alt=""><figcaption></figcaption></figure>

[http://127.0.0.1:8000/get/](http://127.0.0.1:8000/get/) URL-এ গেলে দেখতে পাব কুকি ডেটা ফ্রন্ট-এন্ডে ভিউ করা যাচ্ছে

<figure><img src="https://3753355949-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZjZRCk5NYynvfinzJmZE%2Fuploads%2FLpf3zD8ZoYq3zw4Ull0r%2Fimage.png?alt=media&#x26;token=f51938e6-ae5e-47ab-94a4-ae336e325512" alt=""><figcaption></figcaption></figure>

[http://127.0.0.1:8000/del/](http://127.0.0.1:8000/del/) URL-এ গেলে দেখতে পাব কুকিটি ডিলিট হয়ে গেছে-

<figure><img src="https://3753355949-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZjZRCk5NYynvfinzJmZE%2Fuploads%2F76BZxTuGR0mM8xeflKdv%2Fimage.png?alt=media&#x26;token=e1424064-9668-4ac2-b4d0-29586d792b0c" alt=""><figcaption></figcaption></figure>
