Django视图,与数据库交互并返回数据
环境:python 2.7.13 数据库:sqlite3(Django自带)
在学习Django的时候,遇到了困难。大概就是取到数据库数据后一直不能转成json数据。最后终于自己琢磨解决了。
要点就是在通过Django API与sqlite数据库做交互时,要看清楚返回的对象是什么类型。
首先,与数据库做交互,简单来说,无非就是增删改查。首先来说一说“查”,以后会陆续更新其他
查
在网上查了几种比较常用的方法
def returndata(request):
info = models.Interface.objects.all()
isdict = serializers.serialize('json', info)
return HttpResponse(isdict, content_type="application/json")
此时通过打断点可以看到info的类型为QuerySet

此时我们用serializers.serialize('json', info),来解析转换即可,最后通过HttpResponse正常返回
当采用models.Interface.objects.get(payload=123456)来查询的时候,笔者源代码如下
def returndata(request):
info = models.Interface.objects.get(payload=123456)
response_data = {}
isdict = model_to_dict(info)
response_data["resultcode"] = 0
response_data["message"] = isdict
return HttpResponse(JsonResponse(response_data), content_type="application/json")
此时通过打断点可以看到info的类型为Interface

此时我们用model_to_dict(info),来解析转换即可,最后通过HttpResponse正常返回
Django视图,与数据库交互并返回数据的更多相关文章
- node.js连接本地数据库及json返回数据
新建一个文件夹node.js,目录下打开命令初始化一下 cnpm init 然后下载express框架 cnpm install express --save 接着下载数据库的依赖 cnpm inst ...
- Django学习笔记(8)——前后台数据交互实战(AJAX)
这里将自己这段时间学习的关于前后台数据交互的笔记写在这里,这里包含了Django传输数据给JS,AJAX的相关问题,跨域问题,如何解决AJAX的跨域问题等等.比较凌乱,请看到这篇博客的盆友见谅,如果我 ...
- Django框架之第二篇--app注册、静态文件配置、form表单提交、pycharm连接数据库、django使用mysql数据库、表字段的增删改查、表数据的增删改查
本节知识点大致为:静态文件配置.form表单提交数据后端如何获取.request方法.pycharm连接数据库,django使用mysql数据库.表字段的增删改查.表数据的增删改查 一.创建app,创 ...
- Django(六)实战2:向数据库添加,删除数据、重定向写法、重定向简写
一.向数据库添加图书数据 [上接]https://blog.csdn.net/u010132177/article/details/103831173 1)首先开启mysql服务,并运行项目 启动my ...
- python查询数据库返回数据
python查询数据库返回数据主要运用到flask框架,pymysql 和 json‘插件’ #!/usr/bin/python # -*- coding: UTF-8 -*- import pymy ...
- [Django]中建立数据库视图
Django中建立数据库视图 Django中没有建立视图的接口.假设要建立一个视图须要一些手动的改变. 这里使用的Django 版本号>1.5, 使用的数据库为mysql 第一步 建立视图,比如 ...
- Django与多个数据库交互
定义数据库 在Django中使用多个数据库的第一步是告诉Django您将要使用的数据库服务器. 数据库可以有您选择的任何别名.但是,别名 default 有着特殊的意义.Django使用别名为 def ...
- EasyUI+JSP之java读取数据库后JSON格式数据的返回及调用
做作业工程中遇到一些问题,特此记录一下 解决的问题:使用EasyUI框架搭建简单学生管理系统(数据库增删改查)操作时配合JSP,不知道如何把从数据库获得的数据封装成JSON格式并传回前端JSP并进行展 ...
- django学习-10.django连接mysql数据库和创建数据表
1.django模型 Django对各种数据库提供了很好的支持,包括:PostgreSQL.MySQL.SQLite.Oracle. Django为这些数据库提供了统一的调用API. 我们可以根据自己 ...
随机推荐
- 超超超简单的bfs——POJ-3278
Catch That Cow Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 89836 Accepted: 28175 ...
- (6)UIView常见属性二
例如创建一个view视图,view是最纯洁的控制,必须得指定它的位置,而不像其他的控件像UISwitch默认都有一个位置 在viewDidLoad方法中打印它的位置: 将控件放入一个视图中,只需移动白 ...
- ABP+AdminLTE+Bootstrap Table权限管理系统第二节--数据库脚本
第一点,上一篇文章中我们讲到codefirst中一些问题包括如图 1,codefirst在执行的数据库迁移过程中产生了很多文件,对于强迫症的我而言特别不爽,这些是可以不用生成的啊 2,在codefir ...
- Asp.net中,从弹出窗体取选择值(转)
在Asp.net中,从A页面中弹出B页面,在B页面中选择数据后,关闭并将数据更新到A页面,是一种常用 的方式.只是我对Javascript不熟悉,所以捣鼓了一下午,终于有了一点成绩:测试项目有两个页面 ...
- java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
- securecrt鼠标右键的配置
在使用的secureCRT的情况下,选择好要复制的内容后点击右键时,会直接在命令行粘贴内容.如果不想右键直接粘贴而是跳出菜单选择,就要进行设置了. 方法如下: options->Gloabal ...
- angular学习(二)-- Directive
1.2 指令:Directive AngularJS 通过被称为 指令 的新属性来扩展 HTML, 具体表现形式一般为带有前缀 ng-xxx 的 HTML 属性. 指令的使用形式 ng-xxx 的属性 ...
- C++之STL总结精华笔记
一.一般介绍 STL(StandardTemplate Library),即标准模板库,是一个具有工业强度的,高效的C++程序库.它被容纳于C++标准程 ...
- lodash框架中的chunk与drop函数源码逐行分析
lodash是一个工具库,跟underscore差不多 chunk函数的作用: 把一维数组,按照固定的长度分段成二维数组 如: chunk( [ 10, 20, 30, 40 ], 2 ) 结 ...
- Window检测网络连接情况
Window检测网络连接情况 #include "Wininet.h" #pragma comment(lib,"Wininet.lib") DWORD fla ...