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

السؤال

نشر

لدي نموذج HTML يحتوي على أكثر من عنصر إدخال input بنفس الاسم:

<input name="tags[]" type="text" />
<input name="tags[]" type="text" />
<input name="tags[]" type="text" />

في PHP يمكن الوصول إلى هذه المدخلات على شكل مصفوفة array، ولكن كيف يمكن الوصول إلى هذه المدخلات بإستخدام بايثون في فلاسك Flask؟

حاولت أن أقوم بإستخدام الكود التالي:

tags = request.form['tags']
print(tags)

ولكن ظهر لي الخطأ التالي:

Bad Request
The browser (or proxy) sent a request that this server could not understand.

كيف يمكنني حل هذه المشكلة؟

Recommended Posts

  • 1
نشر

هذه الطريقة (إضافة أقواس مربعة في أكثر من حقل للتعبير عن مصفوفة) ليست من معاير الويب web standard، ولكن لأن لغة PHP وكذلك Ruby on Rails يدعمان هذا الأمر بشكل إفتراضي فستجد أنه يتم إستعمال هذه الطريقة على نطاق واسع في الإنترنت.

ويمكن لفلاسك Flask أن يقوم بجلب قيم كل الحقول التي لها نفس الاسم name كذلك من خلال التابع request.form.getlist بالشكل التالي:

tags = request.form.getlist('tags[]')

لاحظ أنه ليس عليك استخدام [ ] على الإطلاق، حيث سيعمل الكود أيضًا في حالة كان النموذج بالشكل التالي:

<input name="tags" type="text" />
<input name="tags" type="text" />
<input name="tags" type="text" />

ولكن حينها سيمكنك الوصول إلى القيم من خلال التابع request.form.getlist بالشكل التالي:

tags = request.form.getlist('tags')

 

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...