首页 > 解决方案 > Python requests.put 无法更新对象

问题描述

我正在尝试将请求放入使用 Django 构建的 API 中。当我从 IDLE 请求时,我没有更新我的对象,但是当我使用邮递员并使用相同的 JSON 在同一个 url 上发出请求时,它可以工作。我不明白这一点,因为 url 和 JSON 是相同的。

from tkinter import *
import requests
import json


url = "http://127.0.0.1:8000/rentals/35/"
custom_json = {"client": "dsa", "bike_id_number": ["483KIS5O4D", "473JDS93DF", "837JFIE945"]}

myobj = json.dumps(custom_json)

print(myobj)
requests.put(url, data = myobj)

来自 Postman 的屏幕,其中包含从我的 Python 代码复制的 url 和 JSON: https ://ibb.co/rmPRtPj

标签: pythonjsondjangopython-requests

解决方案


您可能必须Content-Type: application/json从 Python 代码中指定标头,或者您可以通过关键字 param 直接将 Python dict 传递给requestsjson它会自动为您设置标头)。

requests.put(url, json = custom_json)

来源(这里适用于 POST,也适用于任何其他带有正文的方法)


推荐阅读