La création de réponses JSON est essentielle lors de la création d'API REST ou d'applications Web dynamiques. Voici un problème rencontré par un développeur qui tente de convertir un script Ajax côté serveur en Django HttpResponse :
Le problème rencontré lors de la conversion d'un script Ajax côté serveur en Django HttpResponse implique une inadéquation entre la sortie JSON attendue et l'implémentation actuelle. Le code Django utilise simplejson pour encoder une liste Python, ce qui entraîne une structure JSON incorrecte.
Pour résoudre ce problème, il est recommandé d'utiliser un dictionnaire Python pour représenter les données JSON. . Les dictionnaires sont plus adaptés aux paires clé-valeur, qui s'alignent mieux sur la structure JSON. Voici un exemple :
import json from django.http import HttpResponse response_data = {} response_data['result'] = 'error' response_data['message'] = 'Some error message'
Avant Django 1.7, les réponses JSON pouvaient être créées en utilisant :
return HttpResponse(json.dumps(response_data), content_type="application/json")
Dans Django 1.7 et versions ultérieures, l'approche recommandée est d'utiliser JsonResponse class :
from django.http import JsonResponse return JsonResponse({'foo': 'bar'})
L'utilisation d'un dictionnaire et de la méthode Django appropriée garantit que la réponse JSON est correctement formatée et conforme au résultat attendu.
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!