kbd*_*dev 1 python django json wagtail
我在迭代一些我设法导入到我的 Django Wagtail 项目中的 JSON 数据时遇到了问题。我想在从这里拉入的网站上列出旅行建议:http : //data.international.gc.ca/travel-voyage/index-updated.json
我能够在我的模型中这样做:
import requests
def get_context(self, request):
response = requests.get('http://data.international.gc.ca/travel-voyage/index-updated.json')
json_response = response.json()
data = json_response['data']
context = super(TravelAdvisoriesPage, self).get_context(request)
context['data'] = data
return context
Run Code Online (Sandbox Code Playgroud)
我现在不确定如何将数据放入我的模板中。我能够使用{{ data }}.
但是如何从 JSON 数据中提取特定项目?我想同时获取英文和法文名称、url-slug、advisory-text 等。所有这些都嵌套在data > country code > language > itemJSON 结构中。
我尝试过类似的事情:
{% for country in data %}
{{ data[country].eng.name }}<br />
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
这给了我类似的错误Could not parse the remainder: '[country].eng.name' from 'data[country].eng.name'。你如何在模板中抓取这些?
Django 模板有自己的不同于 Python 语法的语法。{{ data[country].eng.name }}不允许使用您在其中使用的括号表示法。使用 items 字典函数迭代 dict 键和 dict 值:
{% for country_key, country_value in data.items %}
{{ country_value.eng.name }}<br />
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5200 次 |
| 最近记录: |