2010-07-26 3 views
2

이 문제가 생겼습니다. HTML 배열을 만들었지 만 파이썬으로 읽을 수는 없습니다. App Engine에서이 작업을 수행 할 수 있습니까? 나는 그것이 PHP에서 가능하다는 것을 읽었다. 이것은 내가 현재 HTML 배열을 읽을려고하는 방법이다App Engine Python으로 HTML 배열을 처리하는 방법은 무엇입니까?

<label for="hashtags">Hashtags: </label><br/> 
{% for hashtag in stream.hashtags %} 
    <input type="text" value="{{hashtag}}" name="hashtags[]" id="hashtags" class="text ui-widget-content ui-corner-all" /> 
{% endfor %} 

:

는 HTML 코드입니다

newHashTags = self.request.get('hashtags[]') 
for newHashTag in newHashTags: 
    stream.hashtags.append(newHashTag) 

내가 디버깅있을 때이 포스트 변수입니다. 당신은 목록 또는 배열로 처리하고 싶은 필드 이름의 끝에 []을 포함 할 필요가 없습니다

MultiDict: MultiDict([('streamid', '84'), ('name', 'Akteurs'), ('description', '#stream'), ('hashtags[]', '#andretest'), ('hashtags[]', '#saab')]) 

답변

5

, 즉 일부 PHP 고유의 마법입니다. 대신, 그냥 필드 hashtags의 이름을 지정하고 요청 처리기에서 요청에서 해시 태그의 목록을 얻으려면 다음을 수행하십시오

newHashTags = self.request.get('hashtags', allow_multiple=True) 

allow_multiple=True 인수는 get 방법은 요청의 모든 hashtags 값의 목록을 반환 할 것입니다. 자세한 내용은 the relevant documentation을 참조하십시오.

당신은 또한이 같은 일을하여 for 루프를 피할 수 :

newHashTags = self.request.get('hashtags', allow_multiple=True) 
stream.hashtags.extend(newHashTags) 
+0

완벽한 대답을. 감사. –

관련 문제