详解django的serializer序列化model几种方法


Posted in Python onOctober 16, 2018

序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据

方法一:通过继承View类,重写get方法,获取商品的前是前十条数据,通过serialize序列化数据,返回数据响应。

from django.views.generic import View
from goods.models import Goods
from django.core import serializers
from django.http import HttpResponse
 
class GoodsListView(View):
 
  def get(self,request):
   """
   通过django的view实现商品列表页
   :param request:
   :return:
   """
   #返回前所有商品的前10条数据
   goods_list = Goods.objects.all()[:10]
   #直接转换成json类型的字符串
   data = serializers.serialize("json",goods_list)
   #注意要加上:"application/json",否则在浏览器显示不正常
   return HttpResponse(data,"application/json")

方法二:通过继承View类,重写get方法,获取指定获取某些字段商品的前十条数据,通过serialize序列化数据,返回数据响应。

from django.views.generic import View
from goods.models import Goods
from django.http import HttpResponse
import json
class GoodsListView(View):
  #重写get方法
  #django返回第一种方式
  def get(self,request):
    # 得到商品前10条数据
     goods=Goods.objects.all()[:10]
     goods_list=[]
     for good in goods:
       item={}
       item['name']=good.name
       item['click_num']=good.click_num
       item['shop_price']=good.shop_price
       goods_list.append(item)
    response_data=json.dumps(goods_list,ensure_ascii=False)
    #python字符串 设置为utf-8编码
    return HttpResponse(response_data,'application/json')

方法三:使用Jsonresponse,通过继承View类,重写get方法,获取商品的前是前十条数据,通过serialize序列化数据,返回数据响应,工作中我们常用第三种方法返回JSON数据。

from django.views.generic import View
from goods.models import Goods
from django.core import serializers
import json
from django.http import JsonResponse
class GoodsListView(View):
  def get(self,request):
   """
   通过django的view实现商品列表页
   :param request:
   :return:
   """
   #返回前所有商品的前10条数据
   goods_list = Goods.objects.all()[:10] 
   #序列化,把内存中的python对象,转换成网络中能够传输的对象
   #直接转换成json类型的字符串
   data = serializers.serialize("json",goods_list)
   #转换成字典
   data = json.loads(data)
   return JsonResponse(data,safe=False)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python命令行参数解析模块optparse使用实例
Apr 13 Python
Python基础入门之seed()方法的使用
May 15 Python
利用python实现xml与数据库读取转换的方法
Jun 17 Python
Django处理文件上传File Uploads的实例
May 28 Python
python内置数据类型之列表操作
Nov 12 Python
python3对接mysql数据库实例详解
Apr 30 Python
基于python-opencv3的图像显示和保存操作
Jun 27 Python
Python八皇后问题解答过程详解
Jul 29 Python
django框架模型层功能、组成与用法分析
Jul 30 Python
Python利用全连接神经网络求解MNIST问题详解
Jan 14 Python
解决Keras中CNN输入维度报错问题
Jun 29 Python
python编程学习使用管道Pipe编写优化代码
Nov 20 Python
Python调用C++,通过Pybind11制作Python接口
Oct 16 #Python
Python之inspect模块实现获取加载模块路径的方法
Oct 16 #Python
django 将model转换为字典的方法示例
Oct 16 #Python
python复制列表时[:]和[::]之间有什么区别
Oct 16 #Python
使用Python编写Prometheus监控的方法
Oct 15 #Python
python取数作为临时极大值(极小值)的方法
Oct 15 #Python
Python文件监听工具pyinotify与watchdog实例
Oct 15 #Python
You might like
php学习笔记之 函数声明
2011/06/09 PHP
MacOS 安装 PHP的图片裁剪扩展Tclip
2015/03/25 PHP
常见PHP数据库解决方案分析介绍
2015/09/24 PHP
基于ThinkPHP删除目录及目录文件函数
2020/10/28 PHP
Javascript实例教程(19) 使用HoTMetal(1)
2006/12/23 Javascript
javascript下查找父节点的简单方法
2007/08/13 Javascript
javascript搜索框点击文字消失失焦时文本出现
2014/09/18 Javascript
js的各种排序算法实现(总结)
2016/07/23 Javascript
js从数组中删除指定值(不是指定位置)的元素实现代码
2016/09/13 Javascript
jQuery实现拖拽可编辑模块功能代码
2017/01/12 Javascript
详解vue-cli本地环境API代理设置和解决跨域
2017/09/05 Javascript
node+express框架中连接使用mysql(经验总结)
2018/11/10 Javascript
jQuery移动端跑马灯抽奖特效升级版(抽奖概率固定)实现方法
2019/01/18 jQuery
JS实现的定时器展示简单秒表、页面弹框及跳转操作完整示例
2020/01/26 Javascript
Vue中的this.$options.data()和this.$data用法说明
2020/07/26 Javascript
JS倒计时两种实现方式代码实例
2020/07/27 Javascript
JS使用setInterval计时器实现挑战10秒
2020/11/08 Javascript
Vue 401配合Vuex防止多次弹框的案例
2020/11/11 Javascript
[06:53]DOTA2每周TOP10 精彩击杀集锦vol.3
2014/06/25 DOTA
Python实现的飞速中文网小说下载脚本
2015/04/23 Python
离线安装Pyecharts的步骤以及依赖包流程
2020/04/23 Python
python3读取MySQL-Front的MYSQL密码
2017/05/03 Python
PyCharm2018 安装及破解方法实现步骤
2019/09/09 Python
Python3实现二叉树的最大深度
2019/09/30 Python
python基于property()函数定义属性
2020/01/22 Python
Selenium alert 弹窗处理的示例代码
2020/08/06 Python
Django集成MongoDB实现过程解析
2020/12/01 Python
css3实现针线缝合效果(图解步骤)
2013/02/04 HTML / CSS
澳大利亚排名第一的露营和户外设备在线零售商:Outbax
2020/05/06 全球购物
工商管理本科毕业生求职信范文
2013/10/05 职场文书
汽车销售顾问求职自荐信
2014/01/01 职场文书
有关爱国演讲稿
2014/05/07 职场文书
小学社会实践活动总结
2014/07/03 职场文书
2015年大学生村官工作总结
2015/04/21 职场文书
婚庆司仪开场白
2015/05/29 职场文书
MySQL常用慢查询分析工具详解
2022/08/14 MySQL