如何使用python请求将文件发送到Django/DRF



我有以下代码发布json数据集/文件到Django/DRF API数据库。

我得到错误信息

{"ohlc":["No file was submitted."]}

我做错了什么?

test_url = "http://localhost:8000/stocks/aapl/price/"
test_file = {
"aapl": open("./ohlc_aapl.json", "rb")
}
payload = x.to_dict(orient='records')
r = requests.post(test_url, 
files=test_file,
json=payload)

有效负载如下所示

[{'date': '2020-08-27 00:00:00',
'open': 508.57,
'high': 509.94,
'low': 495.33,
'close': 500.04,
'adjusted_close': 124.2111,
'volume': 155552408},
{'date': '2020-08-28 00:00:00',
'open': 504.05,
'high': 505.77,
'low': 498.31,
'close': 499.23,
'adjusted_close': 124.0099,
'volume': 187629920},
...

我认为问题是你的序列化器期望ohlc字段下的文件,而你却发布了aapl

试试这个。

fname = "ohlc_aapl.json"
with open(f"./{fname}", "rb") as fb:
response = requests.post(
url=test_url,
files={
'ohlc': (fname, fb)
},
json=payload,
)

最新更新