我是django rest api框架中的新手,并且使用get我正在获取其api为此https://api.coursera.org/api/courses.v1?q=search&query=machine+learning的json数组,并且我无法解析它。实际上我想存储所有名称并发送它们到.html文件。我使用过此代码,但对我没用。
req = requests.get('https://api.coursera.org/api/courses.v1?q=search&
query=machine+learning')
jsonList = []
jsonList.append(req.json())
print(jsonList[0])
userData = {}
for value in jsonList[0]:
parsedData.append(value["name"])
print(value["name"])
return render(request, 'app/profile.html', {'data': parsedData})
答案 0 :(得分:4)
这实际上与Django无关。
获取name
内elements
属性的方式(实际上有很多元素,每个元素都有'名称'):
import requests
import json
req = requests.get('https://api.coursera.org/api/courses.v1?q=search&query = machine + learning')
json_data = json.loads(req.text)
for element in json_data['elements']:
print(element['name'])
>> Speak English Professionally: In Person, Online & On the Phone
Machine Learning
Learning How to Learn: Powerful mental tools to help you master tough subjects
.
.
更新:
要在视图中显示名称:
考虑到你有一个非常基本的模板:
{% for name in names %}
<p>{{ name }}</p>
{% endfor %}
在您的视图中,考虑到您已经拥有上述代码,并将所有名称存储在名为names
的列表中:
return render(request, 'app/profile.html', context={'names': names}, status=200)
# it's always a good habit to return an HTTP status code