我有返回酒店列表的功能:
def search_result(request):
......
for hotels in json_data.get('hotelList'):
hotel = hotels.get('localizedName')
print hotel
return HttpResponse(hotel)
在控制台中打印整个列表:
....
Apex Temple Court Hotel
The Connaught
Corinthia Hotel London
London House Hotel
The Royal Park Hotel
The Dorchester Hotel
The Royal Horseguards
但只返回最后一个'皇家骑兵卫队'。 JsonResponse()也返回最后一条记录。 我应该使用什么方法返回完整列表?
答案 0 :(得分:3)
您需要构建一个列表然后将其返回。
def search_result(request):
......
results = []
for hotels in json_data.get('hotelList'):
results.append(hotels.get('localizedName'))
return HttpResponse(results)
要正确显示内容,您需要使用模板,而不仅仅是HttpResponse
。
创建这样的模板,并将其保存为示例hotels.html
:
{% if hotels %}
<ul>
{% for hotel in hotels %}
<li>{{ hotel }}</li>
{% endfor %}
{% endif %}
现在,在您看来:
from django.shortcuts import render
def search_result(request):
......
results = []
for hotels in json_data.get('hotelList'):
results.append(hotels.get('localizedName'))
return render(request, 'hotels.html', {'hotels': results})
答案 1 :(得分:3)
您是否尝试返回整个列表而不是上次阅读和指定酒店的内容?
json_data.get('hotelList')