python - 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
解决方案
您可能必须Content-Type: application/json
从 Python 代码中指定标头,或者您可以通过关键字 param 直接将 Python dict 传递给requests
(json
它会自动为您设置标头)。
requests.put(url, json = custom_json)
来源(这里适用于 POST,也适用于任何其他带有正文的方法)
推荐阅读
- javascript - React 应用程序中的 Promise
- python-3.x - jupyter中的Tensorflow:变量已经存在
- symfony - Symfony3 - 多对多双向表复制
- arrays - 从字符串数组中获取逗号分隔的单引号字符串列表?
- jquery - 在“GoRails”之后在我的 Rails 应用程序中实现通知
- c - C 程序,需要左值作为赋值的左操作数
- red - 红色语言:更改按钮图像不起作用
- python - 抓取网站,为什么代码给出不同的结果?
- javascript - css翻译动画后删除空格
- android - 如何以及在何处使用 Java 在 android Studio 中初始化 EditText 和 Button 的全局数组