16
에서이 같은 HTML 파일의 다중 선택이있다 :액세스 다중 선택 양식 필드 플라스크
<select multiple id="mymultiselect" name="mymultiselect">
<option value="1">this</option>
<option value="2">that</option>
<option value="3">other thing</option>
</select>
I는를 통해 플라스크/파이썬에서 mymultiselect 필드를 액세스하는 경우 :
request.form['mymultiselect']
또는 상기 요청을 이용하여 .args.get 함수는 선택한 항목 하나만 반환합니다. 내가 지금처럼 필드의 이름에 [] 추가 내가 가진 모든 선택 항목을 얻을 것을 배웠다 :
<select multiple id="mymultiselect" name="mymultiselect[]">
<option value="1">this</option>
<option value="2">that</option>
<option value="3">other thing</option>
</select>
나는이 작동하는지 불을 지르고에서 포스트 데이터를 확인하여 볼 수 있습니다
있지만, 언제든지 flask/python에서이 필드에 액세스하려고 할 때 null 또는 None으로 돌아옵니다.
"[]"이 (가) 이름 끝에있는 다중 선택 양식 필드에 어떻게 액세스합니까? 파이썬 코드에서 필드 이름에 "[]"을 추가하려고 시도했지만 작동하지 않는 것 같습니다.
도움 주셔서 감사합니다. 나는 틀린 일을하고 있었고 여전히 플라스크에 새로운 것을 알았다. ... – kj4ohh
이것은 나를 믿을 수 없을만큼 오래 걸렸다. - 디버깅을하는 것은 플라스크가 문제라는 것을 분명히하지 못했고, 생각한 PHP의'[] '을 발견했을 때만이다. 파이썬/플라스크를 구체적으로 검색하십시오. 'get'이 목록을 반환하지 않는 이유는 무엇입니까? 나는이 행동에서 어떤 바람직 함도 볼 수 없다. 특히 get이 첫 번째 요소를 반환하기 때문에 이상하다. 가. – OJFord
그럼 요소가 하나만 있다면? 'get'은 언제 하나의 값을 반환해야합니까? API는 여기에 명시되어 있습니다. 'get'은 항상 하나의 값을 반환합니다. 'getlist'는 항상 목록을 반환합니다. –