如何在Python中获取请求的值?

2024-05-19 09:15:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我在打印到达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_valuesnombreapellidos)获取值?你知道吗


Tags: formcomemailrequestpostjuanvaluesperez
2条回答

这应该起作用:

d = dict(queryDict.iterlists())
formvalues = d['form_values']
queries = formvalues.split('&')
nombre = queries[0].split('=')[1]
apellidos = queries[1].split('=')[1]

你也可以看看this answer

看起来您正在接收一个URL编码的查询字符串,form_valuesURL参数中。如果需要这样做,可以使用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。你知道吗

相关问题 更多 >

    热门问题