一、数据序列化的几种方式

在Django的视图函数中,我们从数据库中获取数据,由以下几种方式将其序列化成JSON数据:

1.方式一

class PublishView(View):

def get(self, request):

publish_list = list(Publish.objects.all().values())

return HttpResponse(json.dumps(publish_list))

通过list强转的方式。

2.方式二

class PublishView(View):

def get(self, request):

publish_list = Publish.objects.all()

temp = []

for obj in publish_list:

temp.append({

'id': obj.id,

'name': obj.name,

'email': obj.email

})

return HttpResponse(json.dumps(temp))

通过字段拼接的方式。

使用model_to_dict方法来将对象转换成字典:

class PublishView(View):

def get(self, request):

from django.forms.models import model_to_dict

publish_list = Publish.objects.all()

temp = []

for obj in publish_list:

temp.append(model_to_dict(obj))

return HttpResponse(json.dumps(temp))

3.方式三

利用django中的序列化组件:·

class PublishView(View):

def get(self, request):

from django.core import serializers

publish_list = Publish.objects.all()

ret = serializers.serialize("json", publish_list)

return HttpResponse(ret)

4.方式四

利用restframework中的serializer:

from rest_framework import serializers

class PublishSerializers(serializers.Serializer):

name = serializers.CharField()

email = serializers.EmailField()

class PublishView(View):

def get(self, request):

publish_list = Publish.objects.all()

ps = PublishSerializers(publish_list, many=True)

return HttpResponse(ps.data)

这种方式的前提是安装djangorestframework。

二、安装restframe

pip install djangorestframework

三、

标签:serializers,temp,Python,list,publish,restframework,obj,自学,class

来源: https://www.cnblogs.com/leokale-zz/p/12228597.html

python rest 框架,[Python自学] restframework相关推荐

  1. gtest测试框架使用详解_【python】新手小白必看,教你如何使用全功能Python测试框架 - python秋枫...

    大家好,我是在升职加薪道路上越奋斗头发越少的阿茅. 今天来跟想入门还徘徊在门外的小白们聊一聊 1.安装和简单使用 2.配置文件 3.断言 一. 第1步 (安装和简单使用) pytest是一个非常成熟的 ...

  2. python 报表框架_自学Python还不晚!阿里达摩院推荐的Python学习教程,分享给大家...

    在互联网信息爆炸的时代,我们经常面临各种与信息搜集有关的事情,但是信息来源网站多,信息量大,如果采用常规的人工搜索+office软件整理,往往要花费大量的时间. 这里为大家介绍一个门槛低.易上手的工具 ...

  3. python单元测试框架-Python unittest单元测试框架总结

    什么是单元测试 单元测试是用来对一个模块.一个函数或者一个类来进行正确性检验的测试工作. 比如对于函数abs(),我们可以编写的测试用例为: (1)输入正数,比如1.1.2.0.99,期待返回值与输入 ...

  4. python rpc框架-python使用rpc框架gRPC的方法

    概述 gRPC 是谷歌开源的一个rpc(远程程序调用)框架,可以轻松实现跨语言,跨平台编程,其采用gRPC协议(基于HTTP2). rpc: remote procedure call, 翻译过来就是 ...

  5. python unitest框架,python unittest框架理解

    unittest基本原理 整个平台的搭建使用的是python的unittest测试框架,这里简单介绍下unittest模块的简单应用. unittest是python的标准测试库,相比于其他测试框架是 ...

  6. python unitest框架,Python unittest框架操作实例解析

    操作步骤 导入框架,import unitest 测试类必须继承类:.class 类名(unittest.TestCase): 在类中所有定义testXXX(区分大小写)开头的函数都是可执行的测试用例 ...

  7. Python常见框架

    Python常见框架 Python框架是什么? Python框架是封装了一套系统成型的代码,让编程变得非常容易,Python框架可以根据功能来分类,比如爬虫框架.数据分析框架.Web开发框架等.通俗地 ...

  8. python课程内容-Python自学难吗?有哪些课程内容?

    自学一门技能,本身就有难度,更何况还是编程类型的Python,要是有兴趣还好说,兴趣是 原始动力.但是光有兴趣还远远不够,要足够坚持才能学有所成.那么Python自学难吗?本 文将为大家来解答! 前期 ...

  9. python没基础能自学吗-没学过编程可以自学python吗

    目前在很多行业中都在越来越多的应用Python,这也是很多行业学习Python的原因. 我认为是可以的,python语法简单明了,代码可读性高,容易入门.Python的哲学是「做一件事情应该只有一种最 ...

  10. 自学python网站-杭州python自学网站

    杭州python自学网站 来源:教育联展网 编辑:佚名 发布时间:2018-10-11 学习python有什么用? 如果你想学Python,或者你刚开始学习Python,那么你可能会问:"我 ...

最新文章

  1. rmReport 自适应行高(自动行高)
  2. Hibernate查询视图返回null问题说明及解决办法
  3. ThreadLocal应用与原理分析
  4. Microsoft发布新工具,简化JavaScript Web应用的创建
  5. Android实现拍照并存储功能,Android实现拍照及图片显示效果
  6. php在页面中实现累加,小白问个php累加问题
  7. zookeeper 单机配置
  8. iOS - 正则表达式判断邮箱、身份证..是否正确
  9. 7-8 12-24小时制 (15 分)
  10. 在linaro中安装opencv
  11. 【NLP】第16章 使用RNN 和注意力的自然语言处理
  12. matlab svc doc,TCR+FC型SVC的研究及MATLAB仿真.doc
  13. 【讲座】清华刘知远:自然语言理解难在哪儿?
  14. Thrift之双向通讯
  15. MinGW与Clion下载安装及使用详解
  16. 快速批量把jpg转换成pdf的方法
  17. 贴片陶瓷电容的NPO、C0G、X7R、X5R、Y5V、Z5U辨析
  18. SecureCRT SecureFX
  19. 基于springboot万花筒系统 毕业设计-附源码345600
  20. 关于碰撞过程中的质量守恒问题

热门文章

  1. JAVA Map集合类简介
  2. 安装Python readline模块
  3. ofbiz中用 ajax 几点注意
  4. [蛋蛋插画日记]喂喂,看“表演”请砸钱币喔!
  5. 3月24 matlab函数polyfit(x,y,n)分析
  6. /usr/include/x86_64-linux-gnu/bits/types/struct_itimespec.h
  7. C语言volatile关键字
  8. 自定义分区partitioner实现数据分区存储
  9. 第二季-专题12-通过按键玩中断
  10. C++--第15课 - 惊艳的继承