django之序列化

简介:

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

  这就需要序列化

Django内置的serializers
def books_json(request):
    book_list = models.Book.objects.all()[0:10]
    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)

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

如果是手工传递数据到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

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

 




猜你喜欢

转载自www.cnblogs.com/2mei/p/9261507.html