ملف تعريف الارتباط هو جزء صغير من البيانات المخزنة في متصفح المستخدم والتي يرسلها الخادم، يتم استخدامها بشكل شائع لتخزين تفضيلات المستخدم و فيما بلي الطريقة التي تعمل بها ملفات تعريف الارتباط بشكل عام:
- المتصفح يرسل الطلب إلى الخادم.
- يرسل الخادم الاستجابة مع ملف أو أكثر من ملفات تعريف الارتباط إلى المتصفح.
- يقوم المتصفح بحفظ ملف تعريف الارتباط الذي استلمه من الخادم و في كل مرة يتم فيها تقديم طلب اخر إلى الخادم سيرسل المتصفح ملف تعريف الارتباط هذا إلى الخادم، و سيستمر المتصفح في إرسال ملف تعريف الارتباط إلى الخادم مع كل طلب حتى تنتهي صلاحية ملف تعريف الارتباط.
- عندما تنتهي صلاحية ملف تعريف الارتباط تتم إزالته من المتصفح.
إنشاء ملفات تعريف الارتباط
يمكننا إنشاء ملفات تعريف الارتباط باستخدام ()set_cookie لكائن الطلب عن طريق الصيغة التالية:
1 | set_cookie(name, value, max_age = None ) |
- name: اسم ملف تعريف الارتباط
- value: القيمة التي تريد تخزينها في ملف تعريف الارتباط
- max_age: عمر ملف تعريف الارتباط بالثواني. بعد ذلك ، ستنتهي صلاحيته، وهي خاصية اختيارية إذا لم يتم تقديمها، فسيظل ملف تعريف الارتباط موجودًا حتى يتم إغلاق المتصفح.
مثال
1 2 3 4 5 6 7 8 9 10 11 12 13 | 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 للوصول إلى قيمة ملف تعريف الارتباط مثل :
1 2 3 | def read_cookie(request): show = request.COOKIES[ 'visit_count' ] ... |
حذف ملفات تعريف الارتباط
يوفر لك Django طرقًا سهلة لحذف ملفات تعريف الارتباط، و نظرًا لأننا استخدمنا ()set_cookie لإنشاء ملفات تعريف الارتباط، يمكننا أيضًا حذف ملفات تعريف الارتباط باستخدام دالة مماثلة ()delete_cookie
1 2 3 4 | def delete_cookie(request): if request.COOKIES.get( 'visit_count' ): response.delete_cookie( "visits" ) ... |
ليست هناك تعليقات:
إرسال تعليق