Maison > développement back-end > Tutoriel Python > Comment renvoyer efficacement une réponse JSON dans Django ?

Comment renvoyer efficacement une réponse JSON dans Django ?

Susan Sarandon
Libérer: 2024-11-26 06:49:13
original
504 Les gens l'ont consulté

How Do I Return a JSON Response Effectively in Django?

Création d'une réponse JSON à l'aide de Django et Python

Lorsque vous tentez de convertir un script de réponse Ajax côté serveur en Django HttpResponse, il est essentiel de prendre en compte les différences de syntaxe et approche. Voici une ventilation des problèmes potentiels et une version corrigée du code Django :

Utiliser un dictionnaire au lieu d'une liste pour JSON :

Le script Python d'origine a renvoyé un tableau en utilisant $arrayToJs. Cependant, en Python, il est plus idiomatique d'utiliser un dictionnaire lors de la création de contenu JSON.

# CORRECTED CODE
response_data = {'id': validateId, 'error': validateError}
Copier après la connexion

Renvoyer la réponse JSON :

Dans Django, il existe deux manières pour renvoyer une réponse JSON en fonction de votre version de Django :

Pour les versions de Django antérieures à 1.7 :

return HttpResponse(json.dumps(response_data), content_type="application/json")
Copier après la connexion

Pour Django 1.7 et supérieur :

import json

from django.http import JsonResponse

return JsonResponse(response_data)
Copier après la connexion

Traitement conditionnel :

Dans le code d'origine, les instructions de traitement et de retour étaient situées en dehors du bloc conditionnel, ce qui entraînait un retard constant dans le retour de la réponse. Le code corrigé garantit que la réponse est renvoyée immédiatement après validation :

if validate_value == "TestUser":
    response_data['status'] = True
    return JsonResponse(response_data)
else:
    response_data['status'] = False
    return JsonResponse(response_data)
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal