Heim >Backend-Entwicklung >Python-Tutorial >Wie erstelle ich JSON-Antworten in Django, insbesondere bei der Konvertierung von serverseitigen Ajax-Skripten?

Wie erstelle ich JSON-Antworten in Django, insbesondere bei der Konvertierung von serverseitigen Ajax-Skripten?

DDD
DDDOriginal
2024-11-20 14:57:16704Durchsuche

How to Create JSON Responses in Django,  Especially When Converting from Server-Side Ajax Scripts?

Django zum Erstellen von JSON-Antworten verwenden

Das Erstellen von JSON-Antworten ist beim Erstellen von REST-APIs oder dynamischen Webanwendungen unerlässlich. Hier ist ein Problem, mit dem ein Entwickler konfrontiert ist, der versucht, ein serverseitiges Ajax-Skript in eine Django HttpResponse zu konvertieren:

Problemformulierung

Das Problem, das beim Konvertieren eines serverseitigen Ajax-Skripts in eine Django HttpResponse auftritt, betrifft Folgendes: eine Diskrepanz zwischen der erwarteten JSON-Ausgabe und der aktuellen Implementierung. Der Django-Code verwendet simplejson zum Codieren einer Python-Liste, was zu einer falschen JSON-Struktur führt.

Vorgeschlagene Lösung

Um dieses Problem zu beheben, wird empfohlen, ein Python-Wörterbuch zur Darstellung von JSON-Daten zu verwenden . Wörterbücher eignen sich besser für Schlüssel-Wert-Paare, die besser zur JSON-Struktur passen. Hier ist ein Beispiel:

import json

from django.http import HttpResponse

response_data = {}
response_data['result'] = 'error'
response_data['message'] = 'Some error message'

JSON HttpResponse mit Django

Vor Django 1.7 konnten JSON-Antworten erstellt werden mit:

return HttpResponse(json.dumps(response_data), content_type="application/json")

In Django 1.7 und höher Der empfohlene Ansatz ist die Verwendung der JsonResponse-Klasse:

from django.http import JsonResponse

return JsonResponse({'foo': 'bar'})

Durch die Verwendung eines Wörterbuchs und der entsprechenden Django-Methode wird sichergestellt, dass die JSON-Antwort ordnungsgemäß formatiert ist und der erwarteten Ausgabe entspricht.

Das obige ist der detaillierte Inhalt vonWie erstelle ich JSON-Antworten in Django, insbesondere bei der Konvertierung von serverseitigen Ajax-Skripten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn