Django嵌套请求

2024-06-25 23:28:13 发布

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

我有一个函数,它与SWAPI API通信,我想得到电影的物种名称。 假设我搜索“新希望”,我必须得到['Hutt','Wookiee','Droid','Human','Rodian']。 问题是,在SWAPI dict中,你没有得到名称,而是得到了一个url列表。在

"species": [
        "https://swapi.co/api/species/5/", 
        "https://swapi.co/api/species/3/", 
        "https://swapi.co/api/species/2/", 
        "https://swapi.co/api/species/1/", 
        "https://swapi.co/api/species/4/"
    ], 

到目前为止,这是我的conde:

^{pr2}$

此时我得到一个错误:

^{3}$

有什么办法来实现这一点吗?在


Tags: 函数https名称api电影物种specieshuman
1条回答
网友
1楼 · 发布于 2024-06-25 23:28:13

好吧,看看你的行species = []你希望只有网址,对吧?但事实并非如此,因为您要将响应数据添加到这个列表的第行:species.append(response_data)。在脚本执行期间,它将变成:

['https://swapi.co/api/species/5/',
 'https://swapi.co/api/species/3/',
 'https://swapi.co/api/species/2/',
 'https://swapi.co/api/species/1/',
 'https://swapi.co/api/species/4/',
 {'name': 'Hutt', ....},
 {'name': 'Wookiee', ....}]

因为list是可变数据类型。在某些迭代中,您尝试获取的不是url,而是字典

我尝试将函数开头的代码重命名spice修复为species_data,并将此变量用于存储来自api的响应(json response)。spices url仍然在spices变量中。我不确定return Response(species_data, status=status.HTTP_200_OK)是否符合您的逻辑,但您应该知道这个想法。您需要2个不同的url和响应数据变量。在

^{pr2}$

相关问题 更多 >