zoukankan      html  css  js  c++  java
  • django之序列化

    简介:

      前端,比如VUE,他不认识后端的QUERY SET对象,后端只能转换成字符串才能认识,

      这就需要序列化

    Django内置的serializers
    # 使用django自带的序列化工具
    def persons1(request):
        #获取查询集(query set)
        book_list=Person.objects.all()
        from django.core import serializers
        ret = serializers.serialize("json", book_list)
        return HttpResponse(ret)

    说明:

      这里只是提供一个内置的简单序列化工具,

      后面会增加一个功能强大的序列化工具。

     1,导入工具

       from django.core import serializers

      2,序列化成json格式的字符串,此字符串变量名是book_list

    ret = serializers.serialize("json", book_list)
    在HTML页面上显示的内容如下:
    [{"model": "app01.person", "pk": 1, "fields": {"name": "u674eu660e", "age": 22}}, {"model": "app01.person", "pk": 2, "fields": {"name": "u5c0fu7ea2", "age": 33}}, {"model": "app01.person", "pk": 3, "fields": {"name": "u5c0fu660e", "age": 12}}]
    

     格式化JSON解析内容如下:




    以下是手工生成列表,并序列化成字符串

    如果是手工传递数据到django服务器,则需要如下步骤,就显得太繁琐了
    from app01.models import Person
    def persons(request):
        #获取查询集(query set)
        ret=Person.objects.all()
        person_list=[]
        #手工按照我们自定义的格式,生成列表
        for value in ret:
            person_list.append({'name':value.name,'age':value.age})
        print(person_list)
        # 使用json将列表序列化成字符串
        import json
        s=json.dumps(person_list)
        return HttpResponse(s)
    

     查看生成的字符串s

    [{"age": 22, "name": "u674eu660e"}, {"age": 33, "name": "u5c0fu7ea2"}, {"age": 12, "name": "u5c0fu660e"}]

    使用json解析器,解析下,查看内容。

     




  • 相关阅读:
    乐卡上海网点地图制作心得 | 百度地图API使用心得
    2017年05月10日记一次微项目投产 | 安卓版微信内置浏览器不能解析gzip压缩过的mp4视频的问题
    一个上传图片项目遇到的一些问题
    Python解析PDF三法
    落魄的.NET开发者🔞年中跳槽记
    Hello, Android多屏幕版
    Hello, Android 快速入门
    2 Orchard汉化资源包的使用
    Orchard 异常
    1 初识Orchard
  • 原文地址:https://www.cnblogs.com/2mei/p/9261507.html
Copyright © 2011-2022 走看看