Neb*_*yyy 1 python api django json
只是想知道我是如何正确地将我的jason数据从我的views.py函数解析到我的模板,以便可以在我的模板中访问它,因为我希望使用数据创建一个表并进一步迭代它.数据看起来像这样:
{"meta": {"limit": 25, "cache-expiry": 3600}, "objects": [{"name": "Pizza Hut delivery", "locality": "Norwich", "website_url": null, "cuisines": [], "region": "Norfolk", "long": 1.27727303158181, "phone": "01603 488900", "postal_code": null, "categories": ["other", "restaurant"], "has_menu": false, "country": "United Kingdom", "lat": 52.6564553358682, "id": "00388fe53e4c9f5e897d", "street_address": null, "resource_uri": "/v1_0/venue/00388fe53e4c9f5e897d/"}, {"name": "Thai Lanna", "locality": "Norwich", "website_url": "http://www.thailannanorwich.co.uk", "cuisines": [], "region": "Norfolk", "long": 1.2788060400004, "phone": "01603 625087", "postal_code": "NR2 1AQ", "categories": ["other", "restaurant"], "has_menu": true, "country": "United Kingdom", "lat": 52.6273547550005, "id": "0452369b7789e15bb624", "street_address": "24 Bridewell Alley", "resource_uri": "/v1_0/venue/0452369b7789e15bb624/"},
Run Code Online (Sandbox Code Playgroud)
我尝试过使用网址,但除了这样做之外没有任何运气:
return HttpResponse(json.dumps(data), content_type='application/json')
Run Code Online (Sandbox Code Playgroud)
但这只是将整个json api数据打印到屏幕上.欢迎任何建议
您应该使用loads()将json字符串解码为python数据:
return render(request, 'my-template.html', json.loads(data))
Run Code Online (Sandbox Code Playgroud)
或者,只获取部分数据:
decoded_data = json.loads(data)
return render(request, 'my-template.html',
{'objects': decoded_data['objects']})
Run Code Online (Sandbox Code Playgroud)
然后在你的模板中执行以下操作:
<ul>
{% for obj in objects %}
<li>{{ obj.name }} - {{ obj.locality }}</li>
{% endfor %}
</ul>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4414 次 |
| 最近记录: |