Django 序列化
序列化:把一个对象转化成一个可以被保存到文件的数据类型的过程。 ? ? ? ? ? ? ?可以被保存到本地文件 反序列化:把一个可以被保存到文件的数据转换成一个对象的过程就是反序列化。 序列化用法: ? ? ? ? 分解页面,加快用户打开页面速度。 案列代码: serializers 主要用于将对象转换为json格式的字符串,一般不建议使用,除非迫不得已情况下使用,原因是因为转化的json字段嵌套层数太多。 -----------------views,py------------------------------ from django.shortcuts import render from django.shortcuts import HttpResponse from app01 import models import json def xuliehua(request): ? ? return render(request,'xuliehua.html') ? ?? def get_data(request): ? ? from django.core import serializers? ?? ? ? ret = {'status':True,'data':None} ? ? try: ? ? ? ? # user_list = models.UserInfo.objects.all() ? ? ? ? # QuerySet【obj,obj,obj】 ? ? ? ? # ret['data'] = serializers.serialize("json",user_list) ? ? ? ? # // var ? ? ? ? # v = JSON.parse(arg.data); ? ? ? ? # // console.log(v); ? ? ? ? # user_list = models.UserInfo.objects.all().values('id','username') ? ? ? ? # ret['data'] = list(user_list) ? ? ? ? # console.log(arg.data); ? ? ? ? # user_list = models.UserInfo.objects.all().values_list('id','username') ? ? ? ? # ret['data'] = list(user_list) ? ? ? ? # console.log(arg.data); ? ? ? ? pass ? ? except Exception as e: ? ? ? ? ret['status'] = False ? ? result = json.dumps(ret) ? ? return HttpResponse(result) html页面内容: ------------------------xuliehua.html---------------------------- <body> ? ? <h1>用户列表</h1> ? ? <table id="tb"> ? ? </table> ? ? <script src="/static/jquery-3.1.1.js"></script> ? ? <script> ? ? ? ? $(function () { ? ? ? ? ? ? initData(); ? ? ? ? }); ? ? ? ? function initData() { ? ? ? ? ? ? $.ajax({ ? ? ? ? ? ? ? ? url :'/get_data/', ? ? ? ? ? ? ? ? type:'GET', ? ? ? ? ? ? ? ? dataType:'JSON', ? ? ? ? ? ? ? ? success:function (arg) { ? ? ? ? ? ? ? ? ? ? //$('#tb').append(arg); ? ? ? ? ? ? ? ? ? ? if(arg.status){ ? ? ? ? ? ? ? ? ? ? ? ? console.log(arg.data); ? ? ? ? ? ? ? ? ? ? ? ? //var v = JSON.parse(arg.data); ? ? ? ? ? ? ? ? ? ? ? ? //console.log(v); ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? } ? ? ? ? ? ? }) ? ? ? ? } ? ? </script> </body> --------------------------get_data.html----------------------------- {% for row in user_list %} ? ? <tr> ? ? ? ? <td>{{ row.id }}</td> ? ? ? ? <td>{{ row.username }}</td> ? ? ? ? <td>{{ row.email }}</td> ? ? </tr> {% endfor %} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |