içinde böyle html dosyasında bir multiselect vardır:Erişim Çoklu seçim Form Alanı Flask
<select multiple id="mymultiselect" name="mymultiselect">
<option value="1">this</option>
<option value="2">that</option>
<option value="3">other thing</option>
</select>
ben yoluyla şişe/Python mymultiselect alanını eriştiğinizde:
request.form['mymultiselect']
veya istek kullanarak .args.get işlevi sadece seçilen bir öğeyi döndürür. Öyle gibi, alan adının [] eklemek Ben seçilen tüm öğeleri almak için öğrendim:
<select multiple id="mymultiselect" name="mymultiselect[]">
<option value="1">this</option>
<option value="2">that</option>
<option value="3">other thing</option>
</select>
Bu çalıştığını kundakçı post verilerini görüntüleyerek görebilirsiniz
ama Bu alana flask/python'da erişmeye çalıştığımda her zaman sıfır veya Yok olarak geri gelir.
Adlarının sonunda "[]" olan bu çoklu formlu form alanlarına nasıl erişirsiniz? Python kodunda alan adına "[]" eklemeye çalıştım ama işe yaramadı.
Yardım için teşekkürler. Ben yanlış bir şey yaptığımı biliyordum, hala balonun yeni ... – kj4ohh
Bu beni bulmak için inanılmaz uzun sürdü - hata ayıklama bu Flask sorun olduğu bile net değil, sadece PHP'nin [] 'bulduğunu düşündüğümde Python/Flask'ı özellikle arayın. Neden "get" listeyi iade etmiyor? Bu davranışta hiç bir arzu göremiyorum. Bu, ilk öğeyi döndürmesiyle özellikle tuhaf. Gah. – OJFord
Peki ya sadece bir eleman varsa? Ne zaman bir liste ve ne zaman tek bir değer döndürmeli? API burada açık; her zaman bir getiri döndürür. 'getlist' her zaman bir liste döndürür. –