简体   繁体   中英

How to make requests.post not to wrap dict values in arrays in python?

I use python requests.post function to send json queries to my django app.

r = requests.post(EXTERNAL_SERVER_ADDRESS, data={'123':'456', '456':'789'})

But on the external server request.POST object looks like this:

<QueryDict: {'123': ['456'], '456': ['789']}>

Why does it happen? How can I just send a dict?

requests is not doing anything here. Presumably your receiving server is Django; that's just how it represents data from a request. request.POST['123'] would still give '456'.

You are sending a dict, Django transform this JSON in this QueryDict objetc automatically when it receives the message. If you want to parse it to an dict, do:

myDict = dict(queryDict.iterlists())

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM