详解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 相关文章推荐
分享6个隐藏的python功能
Dec 07 Python
在python中将字符串转为json对象并取值的方法
Dec 31 Python
Python用input输入列表的实例代码
Feb 07 Python
wxPython修改文本框颜色过程解析
Feb 14 Python
python 使用递归实现打印一个数字的每一位示例
Feb 27 Python
numpy库ndarray多维数组的维度变换方法(reshape、resize、swapaxes、flatten)
Apr 28 Python
Pycharm IDE的安装和使用教程详解
Apr 30 Python
详解Windows下PyCharm安装Numpy包及无法安装问题解决方案
Jun 18 Python
python 爬取免费简历模板网站的示例
Sep 27 Python
Pycharm同步远程服务器调试的方法步骤
Nov 04 Python
解决pycharm 格式报错tabs和space不一致问题
Feb 26 Python
python多线程方法详解
Jan 18 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/04/20 PHP
php中过滤非法字符的具体实现
2013/10/29 PHP
php带抄送和密件抄送的邮件发送方法
2015/03/20 PHP
php生成rss类用法实例
2015/04/14 PHP
Django 中 cookie的使用
2017/08/17 PHP
JavaScript 私有成员分析
2009/01/13 Javascript
火狐下table中创建form导致两个table之间出现空白
2013/09/02 Javascript
jquery序列化form表单使用ajax提交后处理返回的json数据
2014/03/03 Javascript
javascript替换已有元素replaceChild()使用介绍
2014/04/03 Javascript
js控制再次点击按钮之间的间隔时间可防止重复提交
2014/08/01 Javascript
详解js闭包
2014/09/02 Javascript
jQuery聚合函数实例
2015/05/21 Javascript
Hammer.js+轮播原理实现简洁的滑屏功能
2016/02/02 Javascript
jquery对dom节点的操作【推荐】
2016/04/15 Javascript
js动态添加的DIV中的onclick事件简单实例
2016/07/25 Javascript
JS中数组重排序方法
2016/11/11 Javascript
js如何判断是否在iframe中及防止网页被别站用iframe嵌套
2017/01/11 Javascript
vue.extend与vue.component的区别和联系
2018/09/19 Javascript
详解 微信小程序开发框架(MINA)
2019/05/17 Javascript
vue 中使用print.js导出pdf操作
2020/11/13 Javascript
ES6学习教程之Promise用法详解
2020/11/22 Javascript
js获取图片的base64编码并压缩
2020/12/05 Javascript
django 外键model的互相读取方法
2018/12/15 Python
python使用OpenCV模块实现图像的融合示例代码
2020/04/10 Python
jupyter notebook 调用环境中的Keras或者pytorch教程
2020/04/14 Python
CSS3实现王者荣耀匹配人员加载页面的方法
2019/04/16 HTML / CSS
美国知名艺术画网站:Art.com
2017/02/09 全球购物
SIXPAD智能健身仪英国官网:革命性的训练装备品牌
2018/09/27 全球购物
打架检讨书2000字
2014/02/22 职场文书
房屋租赁意向书
2014/04/01 职场文书
学校对教师的评语
2014/04/28 职场文书
司法局群众路线教育实践活动整改措施
2014/09/17 职场文书
再婚婚前财产协议书范本
2014/10/19 职场文书
入党培养人考察意见
2015/06/08 职场文书
电影红河谷观后感
2015/06/11 职场文书
我爱我班主题班会
2015/08/13 职场文书