CGI를 사용하여 스크립트에 보내는 목록 개체가 있습니다. 목록은 HTML 양식의 숨겨진 필드를 사용하여 전송됩니다. my_list = form.getlist [ 'name_of_hidden_field']를 사용하여 수신 스크립트에서 객체를 추출하면 목록은 원하는 목록이 아닌 my_list의 첫 번째 요소에 하나의 큰 텍스트 문자열로 저장됩니다. 내가 도대체 뭘 잘못하고있는 겁니까?CGI를 통해 전송할 때 Python 목록 개체가 텍스트 문자열로 수신됩니다.
# snippet of code from the script with the HTML
my_list = ['string1', 'string2', 'string3]
print '<form name="input" action="my_script.py">'
print '<input type="hidden" name="my_list" value="%s">' % (my_list,)
print '<input type="submit" name="submit" value="Submit" />'
print "</form>"
# snippet of code from my_script.py
my_list = form.getlist('my_list')
# what I'm seeing in my_script.py
>>>print my_list
["['string1', 'string2', 'string3']"]
감사합니다.
my_list = ['string1', 'string2', 'string3']
print '<form name="input" action="my_script.py">'
for element in my_list:
print '<input type="hidden" name="my_list" value="%s">' % (cgi.escape(element),)
print '<input type="submit" name="submit" value="Submit" />'
print "</form>"
'ast.literal_eval' – JBernardo