HttpResponse
, wenn ein iterable vergangen, wird über sie iterieren die Antwortinhalt zu bauen . A dict
ist iterierbar, und das Iterieren über es iteriert tatsächlich über die Schlüssel des Dikts. Von Ihrer Problembeschreibung nehme ich an, dass jsonDict['fields']
ein dict
ist.
Wenn Sie dieses dict als json
(dh rufen Sie die Ansicht mit AJAX) zurückgeben möchten, müssen Sie es zurück zu JSON zurückgeben und eine richtige "JSON" -Antwort zurückgeben. Sie können es manuell tun (zurück zum json Dumping und den richtigen Content-Type-Einstellung), oder verwenden Sie die eingebaute JsonResponse
(Django> = 1,7)
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")
Nun, wenn, was Sie wollen, ist dies in einer Django-Vorlage zu machen geben sie, nur um Kontext der Vorlage des:
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
return render(request, "path/to/your/template.html", {"data":jsonDict["fields"]})
und in der Vorlage:
<dl>
{% for k, v in data %}:
<dt>{{ k }}</dt>
<dd>{{ v }}</dd>
{% endfor %}
</dl>
Was die Werte sein würde? – geckos