اذهب إلى المحتوى

السؤال

Recommended Posts

  • 1
نشر

الفرق بين السطرين هو الآتي :

السطر الأول :

request.POST.get('KEY')

سيقوم بإرجاع القيمة None إذا لم يكن المفتاح أو الكلمة المطلوب إستدعاؤها غير متوفره فهو سطر يقصد به أجلب تلك القيمه فإذا لم تكن متواجده فسيرجع بالرد None فهو مثل تماماً try , except

try:
    x = request.POST['key']
except KeyError:
    x = None

أما السطر الثاني :

request.POST['KEY']

سيعطي خطأ Error بمجرد عدم تواجد المفتاح أو القيمة المطلوب إيجادها

  • 1
نشر

request.POST هو عبارة عن قاموس (dictionary) في بايثون أي هو عبارة عن مجاميع غير مرتبة من الأزواج (مفتاح: قيمة) مع إشتراط كون المفاتيح ذات قيم فريدة أي غير مُكَرَّرة.

إستعمالٌك ل request.POST['KEY'] قدْ يُثير الخطأ KeyError في حالة عدم تواجد المفتاح KEY في القاموس.

أما إستعمالُك ل request.POST.get('KEY') لا يُثير الخطأ وإنما يقوم بإرجاع القيمة None في حالة عدم تواجد المفتاح في القاموس.

بالإضافة إلى أن استعمال get يُتيح لك خاصية إضافية وهي إرجاع قيمة إفتراضية في حالة عدم تواجد المفتاح في القاموس. مثلاً:

>>> value = request.POST.get('KEY')
>>> print(value)
None
>>> value = request.POST.get('KEY', 'القيمة الإفتراضية')
>>> print(value)
'القيمة الإفتراضية'

لمزيد من المعلومات عن القواميس يُمكنك زيارة موسوعة حسوب.

كما يُمكنك قراءة بعض المقالات الموجودة في أكاديمية حسوب:

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...