关于view.py 中 ajax json 的用法
1、
data=models.Citys.objects.filter(upid=0)
data 的数据形式是一个查询集(也是一个列表,查询出来的每一条数据是一个对象):
<QuerySet [<Citys: Citys object>, <Citys: Citys object>, <Citys: Citys object>, <Citys: Citys object>, <Citys: Citys object>, <Citys: Citys object>, <Citys: Citys object>, <Citys: Citys object>, <Citys: Citys object>, <Citys: Citys object>, <Citys: Citys object>, <Citys: Citys object>, <Citys: Citys object>, <Citys: Citys object>, <Citys: Citys object>, <Citys: Citys object>, <Citys: Citys object>, <Citys: Citys object>, <Citys: Citys object>, <Citys: Citys object>, '...(remaining elements truncated)...']>
这种数据形式 ,不能作为render方法参数使用,render(request,'home/citys.html',data) 这种形式会报错,需要改成字典的形式才能使用render方法。如下
context={'data':data}
{'data': <QuerySet [<Citys: Citys object>, <Citys: Citys object>, <Citys: Citys object>, <Citys: Citys object>, <Citys: Citys object>, <Citys: Citys object>, <Citys: Citys object>, <Citys: Citys object>, <Citys: Citys object>, <Citys: Citys object>, <Citys: Citys object>, <Citys: Citys object>, <Citys: Citys object>, <Citys: Citys object>, <Citys: Citys object>, <Citys: Citys object>, <Citys: Citys object>, <Citys: Citys object>, <Citys: Citys object>, <Citys: Citys object>, '...(remaining elements truncated)...']>}
然后使用 return render(request,'home/citys.html',context) 就可以了
2、
json格式的默认解析字典形式的数据,像查询集(列表形式的字典,[{},{}]),会报错,所以我们要这样返回json时要这样做return JsonResponse(data,safe) ,加一个safe=False。json 不能解析对象或者对象的序列化,所以我们要models.Citys.objects.filter(upid = cid).values() ,加一个.values() 。然后使用list()方法包括起来 data = list(models.Citys.objects.filter(upid = cid).values()) return JsonResponse(data,safe=False)
关于view.py 中 ajax json 的用法的更多相关文章
- javascript中的值如何传递到django下的views.py中或者数据库中?
用Ajax,Ajax有很多种写法,包括JQuery和JS,这里贴一个用JQuery写的最通用的Ajax,POST方法传递JSON格式数据: $.ajax({ url: "your url&q ...
- jquery中ajax使用error调试错误的方法
JQuery使我们在开发Ajax应用程序的时候提高了效率,减少了许多兼容性问题,我们在Ajax项目中,遇到ajax异步获取数据出错怎么办,我们可以通过捕捉error事件来获取出错的信息. jquery ...
- django基础 -- 3. urls.py view.py 参数 别名 重定向 常用方法 静态文件
一.基本格式 from django.conf.urls import url from . import views #循环urlpatterns,找到对应的函数执行,匹配上一个路径就找到对应的函数 ...
- Java和JavaScript中使用Json方法大全
林炳文Evankaka原创作品. 转载请注明出处http://blog.csdn.net/evankaka 摘要:JSON(JavaScript Object Notation) 是一种轻量级的数 ...
- [转载]Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
本文对Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法进行了详细的总结,需要的朋友可以参考下,希望对大家有所帮助. 详细解读Jquery各Ajax函数: ...
- Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
本文对Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法进行了详细的总结,需要的朋友可以参考下,希望对大家有所帮助. 详细解读Jquery各Ajax函数: ...
- 转载 : Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结 投稿:jingxian 字体:[增加 减小] 类型:转载 时间:2013-11-14我要评论 本文是 ...
- 关于Jquery中ajax方法data参数用法的总结
data 发送到服务器的数据.将自动转换为请求字符串格式.GET 请求中将附加在 URL 后.查看 processData 选项说明以禁止此自动转换.必须为 Key/Value 格式.如果为数组,jQ ...
- python3开发进阶-Djamgo框架中的JSON和AJAX
阅读目录 什么是JSON 什么是AJAX AJAX常见的应用情景 jQery实现AJAX AJAX请求如何设置csrf_token AJAX上传文件 补充Django内置的serializers 一. ...
随机推荐
- Docker(一)Linux开启你的Docker之旅
前言 Docker容器最早受到RHEL完善的支持是从最近的CentOS 7.0开始的,官方说明是只能运行于64位架构平台, 内核版本为2.6.32-431及以上(即 >= CentOS 6.5, ...
- centos系统安装rar解压工具unar
centOS上不支持rar解压,需要额外安装软件,收费版是unrar,免费版是unar unar在centOS上安装需要源码编译,下面是安装方法: 1.安装依赖 yum install gnustep ...
- Qt OpenGL 鼠标拾取实现
在之前的文章中讲到了OpenGL鼠标拾取操作的例子,工作中需要在Qt中实现,下面的程序演示了QT中opengl的拾取例子. 本例子在Qt5.12和Qt Creator4.8.0上测试,使用的是QOpe ...
- 使用Apache下poi创建和读取excel文件
一:使用apache下poi创建excel文档 @Test /* * 使用Apache poi创建excel文件 */ public void testCreateExcel() { // 1:创建一 ...
- 简单的Verilog测试模板结构
这里记录一下曾经用到的简单的测试模板,如下所示: //timescale `timescale 1ns/1ns module tb_module(); //the Internal motivatio ...
- Android Studio 3依赖配置
新配置 对应的过时配置 描述 implementation compile module编译时可用,module的使用者运行时可用,对于大量使用library的项目,可以显著提高编译时间,因为它可以减 ...
- Kylin如何进行JDBC方式访问或者调用
Kylin提供了标准的ODBC和JDBC接口,能够和传统BI工具进行很好的集成.分析师们可以用他们最熟悉的工具来享受Kylin带来的快速.我们也可以对它进行定制开发报表等,把kylin当做数据库服务器 ...
- 理解vue之element-ui中的 <template slot-scope="scope">
https://blog.csdn.net/tg928600774/article/details/81945140?utm_source=blogxgwz1
- 向comboboxEdit中动态添加数据库中保存的用户自定义单位制的名称
if (radioGroup1.SelectedIndex == 2) { bool _Flag = true; sm.SetLciVisible(lciDelete, _Flag); sm.SetL ...
- jq 监听调整浏览器窗口的大小
<html><head><script type="text/javascript" src="http://www.w3school.co ...