擅长:python、mysql、java
<p><code>HttpResponse</code>如果传递了一个iterable,它将遍历它来构建响应内容。<code>dict</code>是可编辑的,迭代它实际上就是迭代dict的键。根据您的问题描述,我假设<code>jsonDict['fields']</code>确实是<code>dict</code>。在</p>
<p>如果您想将这个dict作为<code>json</code>返回(即用ajax调用视图),那么您必须将其转储回json并返回一个正确的“json”响应。您可以手动执行(转储回json并设置正确的内容类型),或者使用内置的<code>JsonResponse</code>(Django>;=1.7)</p>
<pre><code>r = requests.get('http://jira.xxx.xxx.com/rest/api/2/issue/key-XXX',auth=HTTPBasicAuth('user','pass'),headers = {'Content-Type' : 'application/json'})
jsonDict = r.json() # requests shortcut
# Django >= 1.7
return JsonResponse(jsonDict["fields"])
# Django < 1.7
data = json.dumps(jsonDict["fields"])
return HttpResponse(data, content_type="application/json")
</code></pre>
<p>现在,如果您想要在Django模板中呈现它,只需将其传递到模板的上下文:</p>
^{pr2}$
<p>在模板中:</p>
<pre><code><dl>
{% for k, v in data %}:
<dt>{{ k }}</dt>
<dd>{{ v }}</dd>
{% endfor %}
</dl>
</code></pre>