django返回json数据
需要导入
- 返回json格式的数据
from django.http.response import JsonResponse
- 需要序列化,因为jsonresponse不能返回非序列化的queryset,序列化为json字符串
from django.core import serializers
- 转为json对象
import json
from django.http.response import JsonResponse
from django.core import serializers
import json
def index(request):
# 取出五条数据,并序列化为json字符串
article = serializers.serialize('json', Articles.objects.all()[:5])
# 将字符串转换为json对象
jsondata = json.loads(article )
# 将data放入字典中
data = {
'data': jsondata,
'code': '200',
'message': '获取成功!'
}
# 返回前端json
return JsonResponse(data=data, safe=False)
json.loads(data) 将字符串转为json对象
json.dumps(data) 将json对象转为json字符串
前端获取
ajax请求获取数据
$(function(){
$.ajax({
url: '/blog/ajx',
method: 'GET',
dataType: 'json',
success: function(result) {
console.log(result);
console.log(result.data)
}
})
})
前端返回的数据格式