/ / Quelle est la meilleure pratique pour recevoir une entrée JSON dans les vues Django? - python, json, django, reste

Quelle est la meilleure pratique pour recevoir une entrée JSON dans les vues Django? - python, json, django, reste

J'essaie de recevoir JSON dans la vue de Django en tant que service REST. Je sais qu'il existe des bibliothèques assez développées pour REST (telles que Cadre Django REST). Mais je dois utiliser les bibliothèques par défaut de Python / Django.

Réponses:

4 pour la réponse № 1

request.POST est pré-traité par Django, donc ce que vous voulez, c'est request.body. Utilisez un analyseur JSON pour l'analyser.

import json

def do_stuff(request):
if request.method == "POST":
json_data = json.loads(request.body)
# do your thing

2 pour la réponse № 2

Envoyez la réponse au navigateur en utilisant HttpResponse sans page rafraîchissante.

views.py

from django.shortcuts import render, HttpResponse,

import simplejson as json

def json_rest(request):
if request.method == "POST":
return HttpResponse(json.dumps({"success":True, "error": "You need to login First"}))
else:
return render(request,"index.html")

urls.py

(r^"/","app.views.json_rest")

côté client:

$.ajax({
type:"post",
url: "/",
dataType: "json",
success: function(result) {
console.log(result)

}
});