ملفات تعريف الارتباط في Django

ملف تعريف الارتباط هو جزء صغير من البيانات المخزنة في متصفح المستخدم والتي يرسلها الخادم، يتم استخدامها بشكل شائع لتخزين تفضيلات المستخدم و فيما بلي الطريقة التي تعمل بها ملفات تعريف الارتباط بشكل عام:

  • المتصفح يرسل الطلب إلى الخادم.
  • يرسل الخادم الاستجابة مع ملف أو أكثر من ملفات تعريف الارتباط إلى المتصفح.
  • يقوم المتصفح بحفظ ملف تعريف الارتباط الذي استلمه من الخادم و في كل مرة يتم فيها تقديم طلب اخر إلى الخادم سيرسل المتصفح ملف تعريف الارتباط هذا إلى الخادم، و سيستمر المتصفح في إرسال ملف تعريف الارتباط إلى الخادم مع كل طلب حتى تنتهي صلاحية ملف تعريف الارتباط.
  • عندما تنتهي صلاحية ملف تعريف الارتباط تتم إزالته من المتصفح.

إنشاء ملفات تعريف الارتباط

يمكننا إنشاء ملفات تعريف الارتباط باستخدام ()set_cookie لكائن الطلب عن طريق الصيغة التالية:

set_cookie(name, value, max_age=None)
  • name: اسم ملف تعريف الارتباط.
  • value: القيمة التي تريد تخزينها في ملف تعريف الارتباط.
  • max_age: عمر ملف تعريف الارتباط بالثواني. بعد ذلك ، ستنتهي صلاحيته، وهي خاصية اختيارية إذا لم يتم تقديمها، فسيظل ملف تعريف الارتباط موجودًا حتى يتم إغلاق المتصفح.

مثال

def setcookie(request):
    html = HttpResponse("<h1>How to set cookie by Kader</h1>")
 
    if request.COOKIES.get('visit_count'):
        message = 'Thanks for visiting again'
        value = int(request.COOKIES.get('visit_count')) + 1
    else:
        value = 1
        message = "Welcome for the first time"
 
    html.set_cookie('visit_count', value)
    html.set_cookie('visitor_message', message)
    return html

قراءة ملفات تعريف الارتباط

تنتقل ملفات تعريف الارتباط إلى موقع ويب معين في كل مرة يقدم فيها العميل طلبًا، لذلك، يتلقى الخادم في كل مرة ملف تعريف ارتباط بجانب الطلب، يجعل Django من السهل جدًا علينا استرداد البيانات من ملف تعريف الارتباط.

كائن الطلب في Django له خاصية COOKIE التي تعمل مثل القاموس، و يمكننا استخدام COOKIE للوصول إلى قيمة ملف تعريف الارتباط مثل :

def read_cookie(request):
    show = request.COOKIES['visit_count']
    ...

حذف ملفات تعريف الارتباط

يوفر لك Django طرقًا سهلة لحذف ملفات تعريف الارتباط، و نظرًا لأننا استخدمنا ()set_cookie لإنشاء ملفات تعريف الارتباط، يمكننا أيضًا حذف ملفات تعريف الارتباط باستخدام دالة مماثلة ()delete_cookie

def delete_cookie(request):
    if request.COOKIES.get('visit_count'):
       response.delete_cookie("visits")
    ...

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

اكتشاف المزيد من بايثون العربي

اشترك الآن للاستمرار في القراءة والحصول على حق الوصول إلى الأرشيف الكامل.

Continue reading

Scroll to Top