zoukankan      html  css  js  c++  java
  • Django-----序列化--jwt

    安装命令
    1.  pip install djangorestframework
    2. from rest_framework.views import APIView
    	
    
    2.引入--rest_framework---->下划线,需要在配置文件夹app处的地方加入
    
    序列化的类---将python数据类型转换成josn字符串
    3.单写一个py文件  myserializers.py
    导包:  from  rest-framework import  serializers
    
    在 py 文件里从数据获取想要的数据后,需要通过前台vue渲染页面,所以得转为json字符串--(而序列化就是把python转成json数据的,反序列化是把json转为python)---序列化的三种方式
    
    from mylist.serializers import * 
    
    一、
    # 原始方式----(过渡)----了解使用
    class GoodsSerializer(serializers.Serializer):
    id = serializers.IntegerField()
    name = serializers.CharField()
    price = serializers.DecimalField(max_digits=7,decimal_places=2)
    comment = serializers.CharField()
    		|
    		|
    # 第一种 了解使用
    # def goods(request):
    # # 序列化所有的时候,用many=True,all(),----------一条使用many=False,first()
    # goods = Goods.objects.all()
    # s = GoodsSerializer(goods,many=True)
    # mes = {}
    # mes['code']=200
    # mes['message']=s.data
    # return JsonResponse(mes)
    
    
    二、
    Class GoodsModelSerializer(serializers.ModelSerializer):
    class Meta:
    model = Goods
    # fields = '__all__'
    # 指明想要的字段
    fields = ['id','name','price','comment']
    			|
    			|
    三、
    # 第二种、广泛使用
    def goods(request):
    # 序列化所有的时候,用many=True,all(),----------一条使用many=False,first()
    goods = Goods.objects.all()
    s = GoodsModelSerializer(goods,many=True)
    mes = {}
    mes['code']=200
    mes['message']=s.data
    return JsonResponse(mes)
    
    
    # 第三种、原始使用
    
    # 因向接口传送数据---vue接收的数据是json形式,因此需要to_dict()进行类型转换,code码进行传递确认
    # to_dict()------->第一种方式
    # def goods(request):
    # goods = Goods.objects.all()
    # mes = {}
    # mes['code']=200
    # goodslist = []
    # for i in goods:
    # goodslist.append(i.to_dict())
    # mes['message']=goodslist
    # return JsonResponse(mes)
    
    def to_dict(self):
    return {'id':self.id,'name':self.name,'price':self.price,'comment':self.comment}
    
    
    --------------------------------------------------------------------------------------
    # 展示购物车列表页--------将产品存入购物车后想在页面展示出来通过cart表里外建id序列化获取想要的数据
    class MycartModelSerializer(serializers.ModelSerializer):
        is_checked = serializers.BooleanField(default=True)
        name = serializers.CharField(source='goods_id.name')
        image_url = serializers.CharField(source='goods_id.image_url')
        price = serializers.CharField(source='goods_id.price')
    
        class Meta:
            model = Cart
            fields = '__all__'
    
    
    
  • 相关阅读:
    Vue 02
    Vue 初识
    复杂数据类型之函数 对象
    Collections工具类
    遍历集合的方法总结
    使用Iterator迭代器遍历容器元素(List/Set/Map)
    TreeSet的使用和底层实现
    HashSet基本使用
    HashSet底层实现
    TreeMap的使用和底层实现
  • 原文地址:https://www.cnblogs.com/xinzaiyuan/p/12382607.html
Copyright © 2011-2022 走看看