python - 如何从 Django 模板中的 JSON 文件访问属性元素?
问题描述
我正在解析一个位于远程的 JSON 文件,该文件会不断更新新数据。我不会写 JSON 文件的整个结构,因为它太多了。到目前为止,我可以在模板上获取并显示名称和图像,这很简单,但我不知道如何使用属性和前导下划线访问一些元素。
让我们看看 JSON 文件的一部分:
[{ 'searchResult' : [{'@count': '5',
'item': [{
'itemId': ['352565431707'],
'title': ['Smart Tab ST8200 Quad-core 7" HD Tablet Android 8.1 Oreo 8GB'],
'galleryURL': ['http://thumbs4.flickr.com/m/maf6ZygaFcxqMsVv2DQTh6g/140.jpg'],
'sellingStatus': [{'currentPrice': [{'@currencyId': 'USD', '__value__': '49.0'}],
'itemURL': ['http://rover.somewebsite.com?item=352565431707']}]
'item': [{
'itemId': ['352565431808'],
'title': ['iPhone 11 latest phone '],
'galleryURL': ['http://thumbs4.flickr.com/m/maf6ZygaFcxqMsVv2DQOm6g/140.jpg'],
'sellingStatus': [{'currentPrice': [{'@currencyId': 'USD', '__value__': '1200.0'}],
'itemURL': ['http://rover.somewebsite.com?item=352565431808']}]
这是我在views.py中的代码的一部分
url = 'http://svcs.somewebsite.com?RESPONSE-DATA-FORMAT=JSON&keyword=something'
r = requests.get(url).json()
search =r['searchResult'][0]['item']
context = { 'items': search }
template='home.html'
return render(request, template, context)
这是我在home.html模板中的代码的一部分
{% for item in items %}
<a href = "{{ item.itemURL.0 }} />
<img src="{{ item.galleryURL.0 }}" alt="{{ item.title.0 }}" />
</a>
<h2>{{ item.title.0 }}</h2>
<h3>{{ item.sellingStatus.0.currentPrice.0.__value__.0 }}</h3>
{% endfor %}
根据我所拥有的它呈现图像和标题,但是当我尝试访问__value__时,由于前导下划线,我收到一条错误消息,老实说,我不知道我是否使用这种方法正确访问了属性. 回到我的问题,在这种特殊情况下如何访问属性以及如何逃避前导下划线? 非常感谢您的任何帮助。
解决方案
朋友,您必须使用在 FOR 循环中声明的相同变量。您必须使用 item 变量而不是 items。从技术上讲,该区域不存在项目:
{% for item in items %}
<a href="{{item .viewItemURL.0}}">
<img src="{{ item .galleryURL.0 }}" alt="{{ item .title.0 }}" />
</a>
<p>Names: {{ item .title.0 }}</p>
{% endfor %}
推荐阅读
- jquery - 动态按钮上的事件绑定 .on() 不起作用
- javascript - 下载文件无法正常工作 angular , node js
- javascript - 从构造函数返回独立值而不是对象
- python - 在任务栏上单击主窗口时如何在主窗口中显示顶层窗口,反之亦然?
- java - 找不到资源?
- ios - 我可以在创建 UIBezierPath 框架后更改它吗
- java - 如何在 HQL 中获取已删除的行数
- javascript - 如何使用 React 测试加载的原始数据
- python - 为什么我运行 Python3 speech_recognition 时会出现错误日志?
- javascript - FPDF - 单元格内的 SetFillColor