python---django中序列化
def get_data(req):
ret = {'status':True,'data':None}
try:
user_list = models.User.objects.all()
ret['data']=user_list
#TypeError at /get_data.html
#<QuerySet [<User: dwafwaa>, <User: fwaf>, <User: faw>, <User: fwafwa>]> is not JSON serializable
#json只能序列化基本数据类型,对于对象是不能进行序列化,需要我们使用serializers.serialize
except Exception as e:
ret['status']=False
result = serializers.serialize("json",ret)
#typeError: 'module' object is not callable
#serializers只能对queryset进行序列化
#这里中ret含有基本数据类型,serializers.serialize不能进行序列化
return HttpResponse(result)
正确使用:
def get_data(req):
ret = {'status':True,'data':None}
try:
user_list = models.User.objects.all()
ret['data']=serializers.serialize("json",user_list)
#TypeError at /get_data.html
#<QuerySet [<User: dwafwaa>, <User: fwaf>, <User: faw>, <User: fwafwa>]> is not JSON serializable #去数据库中取数据时,有格式queryset
#其中可以是对象,列表,字典,在外面包着[]列表
#对于对象的序列化,需要我们使用serializers.serialize("json",user_list)进行处理
#对于其他基本类型我们只需要稍微进行转换即可,直接转换为列表(由queryset)list(user_list)即可
#在前端获取的数据就不需要在进行一次反序列化了(对于serialize,我们需要进行一次反序列化,这里没有使用serialize,所以不需要转义) except Exception as e:
ret['status']=False
result = json.dumps(ret)
return HttpResponse(result)
前端使用:
function initData(){
$.ajax({
url:"/get_data.html",
type:"get",
dataType:"json",
success:function(data){
if(data.status){
console.log(data.data)
var v = JSON.parse(data.data); #对于我们获取的data.data对应上面serializers.serialize序列化的数据,又被json序列化,所以我们还需要再进行JSON.parse再获取一次
console.log(v)
}
}
})
}
python---django中序列化的更多相关文章
- Python Django中QQ邮箱授权码问题
Python Django中QQ邮箱授权码问题 系统及软件版本如下: Ubuntu Kylin 16.04 Python 3.5.1 Django 1.9.7 PyCharm Community Ed ...
- RSA算法在Python Django中的简单应用
说明 RSA算法是当今使用最广泛,安全度最高的加密算法. • RSA算法的安全性理论基础 [引]根据百科介绍,对极大整数做因数分解的难度决定了RSA算法的可靠性.换言之,对一极大整数做因数分解愈困难, ...
- Python Django 中的STATIC_URL 设置和使用解析
使用Django静态设置时,遇到很多问题,经过艰苦的Baidu, stack overflow, Django原档阅读,终于把静态图片给搞出来了.特记录下来. 关键的概念:Django中,静态资源的存 ...
- python Django中的cookie和session
目录 Cookie 1.1获取Cookie 1.2设置Cookie Session 1.数据库Session 2.缓存Session 3.文件Session 4.缓存+数据库Session Cooki ...
- python Django rest-framework 序列化步骤
django-rest-framework,是一套基于Django 的 REST 框架,是一个强大灵活的构建 Web API 的工具包.本文介绍一下 django-rest-framework 的简单 ...
- python django中restful框架的使用
在使用django进行前后台分离开发时通常会搭配django-rest-framework框架创建RESTful风格的接口API.框架介绍及版本要求可参考官方地址:https://www.django ...
- python3-开发进阶Django中序列化以及rest_framework的序列化
一.django框架的序列化 直接上代码 1.这是app下的models.py from django.db import models # Create your models here. clas ...
- python django中使用sqlite3数据库 存储二进制数据ByteArray
在python中使用sqlite3数据库存储二进制流数据ByteArray,在django使用sqlite3数据库时,有时候也要注意最好使用二进制流ByteArray插入字符串. 使用ByteArra ...
- python django中的orm外键级联删除
今天添加了一个路由表,路由表做外键,然后添加了几个组,路由表为组的外键,当我使用删除功能对路由表进行删除时,竞然将我的组也相当的删除了:尽管这是测试,但放到生产环境中还是会发生意外的:这个问题要解决: ...
- Python Django中一些少用却很实用的orm查询方法
一.使用Q对象进行限制条件之间 "或" 连接查询 from django.db.models import Q from django.contrib.auth.models im ...
随机推荐
- [CF1060E]Sergey and Subway[树dp]
题意 给出 \(n\) 个点的树,求 \(\sum_{i=1}^n{\sum_{j=i}^n{\lceil \frac{dis(i,j)}{2} \rceil}}\) . \(n\leq 2 \tim ...
- JQ_五星级评分特效
代码如下:<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" conte ...
- CentOS 6.8 安装Tomcat7
一.下载Tomcat到服务器上 将Tomcat包下载到devleoper(没有此目录创建一个)目录下: 二.解压安装包 下载好之后,直接解压,使用命令: .tar.gz # 是否使用sudo权限执行根 ...
- App云测试服务对比
前言: 我们都知道在测试移动app时最耗时的是在各种测试设备进行测试, 因为不论是安卓还是iOS都已经碎片化了.而云测试看似是解决这一问题的有效途径.因此选择哪种云测试平台来协助测试人员进行各种测试就 ...
- PAT甲题题解-1021. Deepest Root (25)-dfs+并查集
dfs求最大层数并查集求连通个数 #include <iostream> #include <cstdio> #include <algorithm> #inclu ...
- PAT甲题题解-1050. String Subtraction (20)-水题
#include <iostream> #include <cstdio> #include <string.h> #include <algorithm&g ...
- Linux内核分析第十八章读书笔记
第十八章 调试 调试工作艰难是内核级开发区别于用户级开发的一个显著特点. 18.1 准备开始 我们需要什么? 一个bug 一个藏匿bug的内核版本 思路:假定能够让bug重现 在用户级程序中,bug直 ...
- Linux内核分析(第五周)
系统调用的三层皮(下) 一.给MenuOs增加time和time-asm命令 ls rm menu -rf git clone xx(克隆新版本) cd menu make rootfs(自动编译生成 ...
- 作业三(下)安装VS2013
VS2013 今天常识安装Microsoft Visual Studio 2013,虽然 直接在软件管家上下载,一键安装,但是还是遇到许多问题,安装过程相当的艰难,花了好多时间.但是在尝试多次后成功的 ...
- final发布简评
1.nice!——约跑app:本次发布使用摄像头展示,比之前清晰的多,展示效果很好,值得学习!功能都已实现,已经可以使用,好评. 2.飞天小女警——礼物挑选:本次发布风格与上次不同,除此之外添加了猜你 ...