2011-07-30 4 views
0

저는 파이썬과 GAE에 2 일 동안의 도움을 미리 요청합니다.Python (GAE)에서 HTML 입력 배열 구문 분석

는이 같은 HTML의 입력 배열이 있습니다

<input type="text" name="p_item[]"> 
<input type="text" name="p_item[]"> 
<input type="text" name="p_item[]"> 

내가 파이썬에서 입력을 구문 분석 할을하고, 작동하지 않는 나는,이 노력하고있어 :

items = self.request.get('p_item') 
for n in range(1,len(items)): 
    self.response.out.write('Item '+n+': '+items[n]) 

이 작업을 수행하는 올바른 방법은 무엇입니까?

+0

합니다. 예를 들어'p_item [field1]'또는'p_item [field2]'? 지금 당장은'len (items) == 0'이라는 문제가 생겼다는 느낌이 들었습니다. –

+0

그래,이게 작동하도록되어 있지만, HTML에서 대괄호 []를 제거하면된다. 배열을 사용하지 않고 하나의 HTML 문서에 변수 이름이 여러 번 나타나도록 허용하는 표준입니까? – Steven

+0

"작동하지 않는다"는 것은 무엇을 의미합니까? 예상치 못한 결과가 나옵니까? 오류가 있습니까? 어느 것? 어느 선 에서요? 당신은 지금까지 무엇을 시도 했습니까? – dtb

답변

4
는 self.request.get_all() 메소드를 http://code.google.com/appengine/docs/python/tools/webapp/requestclass.html#Request_get_all

추신을이

<input type="text" name="p_item"> 
<input type="text" name="p_item"> 
<input type="text" name="p_item"> 

에 HTML을 변경하고 사용

참고로, GET/POST 데이터를위한 배열에 대한 개념은 없으며 양식은 '&'으로 분리 된 키 = 값 문자열로 변환됩니다.

p_item=1&p_item=3&p_item=15 

등. 매개 변수가 배열인지 여부를 해석하는 것은 웹 프레임 워크에 달려 있습니다.

편집 : 죄송합니다, 당신이 아 아니라, 이미 알아 낸 코멘트를 읽기 : P 내가하지만 난 당신이 당신의 p_item '배열'이름 값에 값을 원하는 추측하고있어 GAE를 사용한 적이

0

이런 종류의 문제가 발생하면 디버깅을하는 것이 좋습니다. 간단하게 변수 값을 작성하고 각 단계에서 기대하는 것을 얻을 수 있도록하십시오. 다음과 같이 수행

<form method="get"> 
    <input type="text" name="single_key" /> 
    <input type="text" name="array_key[some_key]" /> 
    <input type="submit" /> 
</form> 

을 그리고 백엔드에서 다음 파이썬을 실행할 때 어떻게되는지 : 출력을 바탕으로

single_value = self.request.get('single_key') 
self.response.out.write(str(single_value)) 

array_value = self.request.get('array_key') 
self.response.out.write(str(array_value)) 

원하는 결과를 얻을 수 무엇의 더 나은 아이디어를 가지고 있어야 여전히 특정 행동을 이해하지 못하는 경우 질문에 세부 사항을 추가하는 방법에 대해 알아보십시오.