Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich in Django effektiv eine JSON-Antwort zurückgeben?

Wie kann ich in Django effektiv eine JSON-Antwort zurückgeben?

Susan Sarandon
Freigeben: 2024-11-26 06:49:13
Original
520 Leute haben es durchsucht

How Do I Return a JSON Response Effectively in Django?

Erstellen einer JSON-Antwort mit Django und Python

Beim Versuch, ein serverseitiges Ajax-Antwortskript in eine Django-HttpResponse zu konvertieren, ist es wichtig, die Unterschiede in der Syntax zu berücksichtigen und Herangehensweise. Hier ist eine Aufschlüsselung potenzieller Probleme und eine korrigierte Version des Django-Codes:

Verwendung eines Wörterbuchs anstelle einer Liste für JSON:

Das ursprüngliche Python-Skript hat ein Array zurückgegeben mit $arrayToJs. In Python ist es jedoch idiomatischer, beim Erstellen von JSON-Inhalten ein Wörterbuch zu verwenden.

# CORRECTED CODE
response_data = {'id': validateId, 'error': validateError}
Nach dem Login kopieren

Zurückgeben der JSON-Antwort:

In Django gibt es zwei Möglichkeiten So geben Sie abhängig von Ihrer Django-Version eine JSON-Antwort zurück:

Für Django-Versionen vor 1.7:

return HttpResponse(json.dumps(response_data), content_type="application/json")
Nach dem Login kopieren

Für Django 1.7 und höher:

import json

from django.http import JsonResponse

return JsonResponse(response_data)
Nach dem Login kopieren

Bedingte Verarbeitung:

Im ursprünglichen Code befanden sich die Verarbeitungs- und Rückgabeanweisung außerhalb des bedingten Blocks, was zu einer ständigen Verzögerung bei der Rückgabe der Antwort führte. Der korrigierte Code stellt sicher, dass die Antwort sofort nach der Validierung zurückgegeben wird:

if validate_value == "TestUser":
    response_data['status'] = True
    return JsonResponse(response_data)
else:
    response_data['status'] = False
    return JsonResponse(response_data)
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich in Django effektiv eine JSON-Antwort zurückgeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage