python - 通过 django-template 奇怪的解析 json 响应
问题描述
我正在尝试解析从获取请求到休息 api 的 json 响应。让我告诉你我的意思是“奇怪”。
我的观点.py
def about_abc(request, host_id):
response = requests.get(
'abc.net:1768/abc/api/v1/about',
verify='cert/cacerts.pem',
headers={'Accept': 'application/json', 'Authorization': 'Basic xxxxxxxxxxxxxxxxxxxxxxxx'},
).json()
context = {'response': response}
return render(request, 'itpassed/about.html', context)
现在,当我把模板about.html
{{ response }}
在网络浏览器中,我得到正常的,未解析的响应(至少看起来像这样)
{'version': '3.3.2', 'level': 'SP2', 'system': 'unix', 'server_time': '1556275198000', 'server_utc': '2', 'multinode_enabled': 'NO', 'cg_enabled': 'NO', 'instance_id': 'hostname'}
但是当我输入about.html
{% if response %}
{% for id in response %}
<p>{{ id }}</p>
{% endfor %}
{% else %}
<p>No IDs are available.</p>
{% endif %}
我得到没有值的 id:
version
level
system
server_time
server_utc
multinode_enabled
cg_enabled
instance_id
根据我在模板中只有 {{ response }} 的浏览器中看到的,整个响应被传递(ids 和它们的值)。如何解析这个看起来或多或少像这样:
version: 3.3.2
level: SP2
system: unix
server_time: 1556275198000
server_utc: 2
multinode_enabled: NO
cg_enabled: NO
instance_id: hostname
解决方案
您可以通过以下方式访问模板中的键和值:
{% if response %}
{% for key,value in response.items %}
<p>{{ key }}: {{ value }}</p>
{% endfor %}
{% else %}
<p>No IDs are available.</p>
{% endif %}
推荐阅读
- reactjs - 使用 Redux Saga 从 API 获取信息
- makefile - ifeq 条件和 Makefile
- firebase - 错误:_elements.contains(element) 不正确
- javascript - 如何避免返回到带有 HTML id 属性标记的上一个部分,而是转到上一个网站?
- python-3.x - 如何在 python 3 中对大量文本进行分类?
- php - PHP:允许的内存大小......字节用尽
- function - 如何在Vue循环中调用js函数并将参数从Vue传递给js
- java - 从表中获取仅同名人员的记录
- mysql - 尝试使用 sqlobject 和 python 3 添加数据和查询 mysql 数据库
- javascript - CSS 将 SVG 排列到偏移网格中