我试图在Django的视图中接收JSON作为REST服务。我知道REST有很多开发的库(例如Django REST Framework)。但我需要使用Python / Django的默认库。
答案 0 :(得分:4)
request.POST
由django预处理,所以你想要的是request.body
。使用JSON解析器来解析它。
import json
def do_stuff(request):
if request.method == 'POST':
json_data = json.loads(request.body)
# do your thing
答案 1 :(得分:2)
使用HttpResponse
将回复发送到浏览器,无需刷新页面。
<强> 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')
客户方:
$.ajax({
type:"post",
url: "/",
dataType: 'json',
success: function(result) {
console.log(result)
}
});