当我打印到达POST的request
时,我得到了这个结果。
<QueryDict: {u'form_values': [u'nombre=Juan&apellidos=Perez&correo=juan@email.com&confiCorreo=juan@email.com&telefono=5598764&celular=8971265256&calle_numero=Calle+#10&colonia=San+Pablo&municipio=&estado=&pais=&cPostal=&razonS=&rfc=&callenumero=&colonia=&municipio=&estado=&codPos='], u'pass': [u'k7iwriilqm66mtnu2m1x'], u'csrfmiddlewaretoken': [u'kkxdVbDzPXhfDazzSVvIvAYizExoRSFR'], u'clabe': [u'8jO9ChGsKXJfrBtb4vBMsxQKdA8L7Y0h']}>
如何单独获取来自form_values
的值(nombre
,apellidos
)?
答案 0 :(得分:1)
您好像在接收一个URL编码的查询字符串在<{strong> form_values
网址参数中。如果是这样,您可以使用urlparse
标准库解析该查询字符串,如下所示:
import urlparse
url_str = query_dict["form_values"][0]
form_dict = urlparse.parse_qs(url_str)
print(form_dict)
# {'correo': ['juan@email.com'], 'calle_numero': ['Calle #10'], 'colonia': ['San Pablo'], 'confiCorreo': ['juan@email.com'], 'apellidos': ['Perez'], 'celular': ['8971265256'], 'nombre': ['Juan'], 'telefono': ['5598764']}
urlparse.parse_qs
接受一个查询字符串并返回一个本地字典,其中包含键到列表值的映射。如果某个键在查询字符串中出现多次,则该列表将包含多个值。如果需要,请参阅docs for more details。
答案 1 :(得分:0)
这应该有效:
d = dict(queryDict.iterlists())
formvalues = d['form_values']
queries = formvalues.split('&')
nombre = queries[0].split('=')[1]
apellidos = queries[1].split('=')[1]
您还可以查看this answer