demo

# 获取课程的视图
from django.shortcuts import HttpResponse

from rest_framework.views import APIView
from rest_framework.renderers import JSONRenderer,BrowsableAPIRenderer

from api import models
from api.serializers.course import CourseSerializer  # 导入序列化插件
import json

class CourseView(APIView):
    renderer_classes = [JSONRenderer,BrowsableAPIRenderer]   # 渲染器

    ret = {'code':1000,'data':None,'error':None}

    def get(self,request,*args,**kwargs):
        # course_list是一个queryset = [obj,obj]  QuerySet,是django的类型
        course_list = models.DegreeCourse.objects.all().only('id','name')
        ser= CourseSerializer(instance=course_list,many=True)   # 取到序列化器要实例化
        # querydict 是django的   OrderedDict  是Python的
        print(ser.data,type(ser.data))
        # 所以json.dumps就可以对数据进行序列化
        print(json.dumps(ser.data))
        # [{"id": 1, "name": "21\u5929\u5b66\u4f1apython\u57fa\u7840"}, {"id": 3, "name": "java\u9879\u76ee"}, {"id": 2, "name": "python\u67b6\u6784"}]
        return HttpResponse("6666")

当打印数据出现乱码,可添加ensure_ascii=False

注意点

querydict 是django的   OrderedDict  是Python的
from rest_framework.renderers import JSONRenderer,BrowsableAPIRenderer  # 渲染器 +   BrowsableAPIRenderer  是用框架提供的模板

分页

猜你喜欢

转载自www.cnblogs.com/jassin-du/p/8858359.html