zope 및 요청 객체를 사용하여 가끔 변수에 다른 유형이 생깁니다. 나는이 고려해야 :배열에 zope에있는 요청 객체 캐스팅
docs = request.form['ID']
때로는 문서는 하나의 ID입니다 (그리고 문자열 인), 기타 항목이 여러 ID를, 그리고 배열입니다. 문자열이 반복 가능하기 때문에 이것은 매우 혼란 스러울 수 있습니다.
if isinstance(docs, basestring):
docs = [docs]
for doc_id in docs:
dosomething(doc_id)
들어오는 변수가 문자열 인 경우에만 작동합니다.
변경되는 요청 유형을 처리하는 가장 좋은 방법은 무엇입니까? 아마도 필자의 경우에는 iterable (그리고 wrong) 타입을 캐스팅하고 나머지는 에러를 던지기를 원할 것입니다. 사용자가 하나 이상의 상기 항목 중 두 확인한다면
가<input type="checkbox" name="items:list" value="foo" /> Foo<br/>
<input type="checkbox" name="items:list" value="bar" /> Bar<br/>
요청의 결과 items
엔트리가 될 것이다