详解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 多线程应用介绍
Dec 19 Python
Python中列表、字典、元组、集合数据结构整理
Nov 20 Python
简单讲解Python中的闭包
Aug 11 Python
Python首次安装后运行报错(0xc000007b)的解决方法
Oct 18 Python
python利用urllib实现爬取京东网站商品图片的爬虫实例
Aug 24 Python
详解django三种文件下载方式
Apr 06 Python
Python基于SMTP协议实现发送邮件功能详解
Aug 14 Python
解决Pycharm出现的部分快捷键无效问题
Oct 22 Python
python的pyecharts绘制各种图表详细(附代码)
Nov 11 Python
PyCharm License Activation激活码失效问题的解决方法(图文详解)
Mar 12 Python
django实现后台显示媒体文件
Apr 07 Python
python中逻辑与或(and、or)和按位与或异或(&、|、^)区别
Aug 05 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 可阅读随机字符串代码
2010/05/26 PHP
分享8个最佳的代码片段在线测试网站
2013/06/29 PHP
5种PHP创建数组的实例代码分享
2014/01/17 PHP
php调用C代码的实现方法
2014/03/11 PHP
PHP5.3安装Zend Guard Loader图文教程
2014/09/29 PHP
PHP面向对象之工作单元(实例讲解)
2017/06/26 PHP
利用PHP扩展Xhprof分析项目性能实践教程
2018/09/05 PHP
我的Node.js学习之路(一)
2014/07/06 Javascript
indexOf 和 lastIndexOf 使用示例介绍
2014/09/02 Javascript
JS的location.href跳出框架打开新页面的方法
2014/09/04 Javascript
JS利用cookie记忆当前位置的防刷新导航效果
2015/10/15 Javascript
Bootstrap网格系统详解
2016/04/26 Javascript
Javascript6中字符串的四个新用法分享
2016/09/11 Javascript
Vue.JS入门教程之处理表单
2016/12/01 Javascript
Jquery实时监听input value的实例
2017/01/26 Javascript
Node.js学习之地址解析模块URL的使用详解
2017/09/28 Javascript
JavaScript中正则表达式使数字、中文或指定字符高亮显示
2017/10/31 Javascript
vue webpack开发访问后台接口全局配置的方法
2018/09/18 Javascript
vue form check 表单验证的实现代码
2018/12/09 Javascript
解决layui table表单提示数据接口请求异常的问题
2019/09/24 Javascript
Vue项目中Api的组织和返回数据处理的操作
2019/11/04 Javascript
基于VSCode调试网页JavaScript代码过程详解
2020/07/20 Javascript
Vue+Element-U实现分页显示效果
2020/11/15 Javascript
Python设计模式之观察者模式简单示例
2018/01/10 Python
python实现数独游戏 java简单实现数独游戏
2018/03/30 Python
python实现简易学生信息管理系统
2020/04/05 Python
Python request操作步骤及代码实例
2020/04/13 Python
HTML5为输入框添加语音输入功能的实现方法
2017/02/06 HTML / CSS
全球性的女装店:storets
2019/06/12 全球购物
在校大学生的职业生涯规划书
2014/03/14 职场文书
工地质量标语
2014/06/12 职场文书
武侯祠导游词
2015/02/04 职场文书
求职信范文怎么写
2015/03/19 职场文书
2015迎新晚会开场白
2015/05/29 职场文书
用人单位的规章制度,怎样制定才是有效的?
2019/07/09 职场文书
Python+pyaudio实现音频控制示例详解
2022/07/23 Python