Comment gérer les erreurs dans la génération de réponse Django JSON ?

Mary-Kate Olsen
Libérer: 2024-11-18 22:00:02
original
582 Les gens l'ont consulté

How to Handle Errors in Django JSON Response Generation?

Gestion des erreurs dans la génération de réponse JSON à l'aide de Django

Dans cette question, l'objectif de l'utilisateur était de créer une réponse Django HttpResponse avec un format JSON. Cependant, le code converti a renvoyé des erreurs. Plus précisément, la méthode 'echo' dans le script côté serveur d'origine n'est pas utilisée dans Django HttpResponse. Au lieu de cela, dans Django, on peut utiliser des techniques de codage JSON pour convertir des objets Python en chaînes JSON.

L'approche recommandée dans Django pour générer des réponses JSON consiste à utiliser des dictionnaires au lieu de listes. Les paires clé-valeur d'un dictionnaire correspondent plus naturellement aux structures d'objets JSON. Par exemple :

response_data = {}
response_data['result'] = 'error'
response_data['message'] = 'Some error message'
Copier après la connexion

Pour renvoyer la réponse JSON dans les versions de Django antérieures à 1.7, utilisez :

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

Pour Django 1.7 et versions ultérieures, utilisez la classe JsonResponse :

from django.http import JsonResponse
return JsonResponse({'foo':'bar'})
Copier après la connexion

Dans le code de l'utilisateur, le principal problème semble être la mise en œuvre de son instruction « echo ». En remplaçant cela par l'encodage JSON approprié et HttpResponse dans Django, le problème peut être résolu.

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