django1.11如何实时访问mysql数据库
前几天,一直在研究django框架,发现它自身封装了很多有用的API,很有意思。比如,数据库操作基本的创表,查询,插值,更新,删除都有,很方便,再加上json库可以直接将数据json化,通过服务器传给前端并显示,连数据库也很快,响应迅速。
from blog.models import SfhdPredictDataTest
w = SfhdPredictDataTest.objects.all().values('time') print(w)
lists = Chart.objects.values_list('time','predict')
list(lists)
数据库访问
app.views的代码:主要是从数据库取数据,怎么达到实时呢,我是这样子的:反向查询数据库,(假设数据库的数据一直在插入)我们用切片切去反向后的表的前10个数据(我用的数据是3秒间隔的(三秒插入一次))。切片操作还有一个好处可以减少内存消耗,和加快查询速度,因为这张表本身很大且数据量巨大,列数达到130列,所以呢切片操作很适合。
怎么才能达到实时呢:我们在前端加一个ajax请求外面套一个定时器,定时间隔保证取得数据正好是插的数据量。
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
from charts.models import Sfhd130Cols
import json,time
def index(request): return render(request,'charts/index.html') def charts_data(request):
# b = Sfhd130Cols.objects.all().order_by('-time').values('time', 'amb05cq04bm_av')[:100]
# b = Sfhd130Cols.objects.order_by('-time').values('time', 'amb05cq04bm_av')[10:110]
b = b.reverse() #从数据库读取数据后 queryset格式要先倒序才能list列表化
b = list(b)
# print(b, "hello")
for lis in b:
lis['time'] = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(lis['time']))
lists = json.dumps(b, indent=4) # lis['time'] = time_change(lis['time'])
return HttpResponse(lists) def charts_update(request):
b = Sfhd130Cols.objects.order_by('-time').values('time', 'amb05cq04bm_av')[:6]
# b = b.reverse() # 从数据库读取数据后 queryset格式要先倒序才能list列表化
b = list(b)
# print(b, "hello")
for lis in b:
lis['time'] = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(lis['time']))
lists = json.dumps(b, indent=4) return HttpResponse(lists)
#时间戳转时间
def time_change(date):
date = time.localtime(date)
return time.strftime('%Y-%m-%d %H:%M:%S',date)
还有一个重要的:当从数据库取出数据后是一个queryset类型,如果要倒序的话,要按照先reverse再list的操作,不然会得到空的list(就这里我困了好久,一直以为是数据库没取到数据~~~~~)
django1.11如何实时访问mysql数据库的更多相关文章
- Linux下C++访问MySQL数据库
由于想要开始了解并学习用LAMP进行web开发,所以昨晚我在Fedora上安装了MySQL,学习了MySQL的几个常用命令.想着在学习进行web开发(PHP访问数据库)之前,先用我熟悉的C++连接数据 ...
- java文件来演示如何访问MySQL数据库
java文件来演示如何访问MySQL数据库. 注:在命令行或用一个SQL的前端软件创建Database. 先创建数据库: CREATE DATABASE SCUTCS; 接着,创建表: CREATE ...
- PHP访问MySql数据库介绍
在网站后台,经常要与数据库打交道.本文介绍如何使用XAMPP来管理MySql数据库及如何用PHP来访问MySql数据库. 一.使用XAMPP来管理MySql数据库 首先使用XAMPP打开MySql的管 ...
- C#连接、访问MySQL数据库
一.准备工具 visual stuido(本示例使用visual studio 2010) MySql.Data.dll mysql_installer_community_V5.6.21.1_set ...
- 在Eclipse中使用JDBC访问MySQL数据库的配置方法
在Eclipse中使用JDBC访问MySQL数据库的配置方法 分类: DATABASE 数据结构与算法2009-10-10 16:37 5313人阅读 评论(10) 收藏 举报 jdbcmysql数据 ...
- C#访问MySQL数据库(winform+EF)
原文:C#访问MySQL数据库(winform+EF) 以前都是C#连接SQLServer,现在MySQL也比较火了,而且是开源跨平台的,这里连接使用一下,主要是体会一下整个流程,这里使用的是winf ...
- Spring Boot入门(六):使用MyBatis访问MySql数据库(注解方式)
本系列博客记录自己学习Spring Boot的历程,如帮助到你,不胜荣幸,如有错误,欢迎指正! 本篇博客我们讲解下在Spring Boot中使用MyBatis访问MySql数据库的简单用法. 1.前期 ...
- html页面通过http访问mysql数据库中的内容,实现用户登录的功能
需求: 通过html编写用户登录页面,页面内容包括用户名.密码和登录按钮,点击登录后访问login.php文件,使用按钮默认的submit提交用户名和密码,在login.php中访问mysql数据库, ...
- 关于利用PHP访问MySql数据库的逻辑操作以及增删改查实例操作
PHP访问MySql数据库 <?php //造连接对象$db = new MySQLi("localhost","root","",& ...
随机推荐
- C++ 多态与虚函数
1.多态的概念 由虚函数实现的动态多态性就是:同一类族中不同类的对象,对同一函数调用作出不同的响应. 先看下面这个简单的例子: #include<iostream> using std:: ...
- showmemory.c 和 hello.s 源码
showmemory.c 和 hello.s 源码 /** * showmemory.c -- print the position of different types of data in a p ...
- Scala从入门到精通之四-映射和元组
在Scala中映射之键值对的集合,元组是n个对象的聚集,但是对象的类型不一定相同 本节内容要点 Scala中映射的创建,遍历和查询 如何从可变和不可变映射中做出选择 Scala映射和Java映射见的互 ...
- linq 在查询表达式中处理异常
在查询表达式的上下文中可以调用任何方法. 但是,我们建议避免在查询表达式中调用任何会产生副作用(如修改数据源内容或引发异常)的方法. 此示例演示在查询表达式中调用方法时如何避免引发异常,而不违反有关异 ...
- 状态码为 200 from cache和304 Not modified的区别
1.请求状态码为 200 from cache: 表示该资源已经被缓存过,并且在有效期内,所以不再向浏览器发出请求,直接使用本地缓存. 如下图: 2.状态码为 304 Not modified: 表 ...
- AMD与commonJS
CommonJS:它是一个同步的模式.但是这种模式并不适合于浏览器端,如果浏览器同步模式一个一个加载模块,那么打开将会变得非常的慢. AMD:它最大的特点就是可以异步的方式加载模块,具体的不同在于AM ...
- 【Kafka源码】SocketServer启动过程
SocketServer主要用于接收外部的网络请求,并把请求添加到请求队列中. 一.入口 在KafkaServer.scala中的start方法中,有这样的入口: socketServer = new ...
- 浅析is和as两个关键词在类型转换时的使用
is检查对象是否兼容与指定类型,返回Boolean值true或者false,值得注意的是,在使用is进行类型转换的时候是永远不会抛出异常的,例如: object o=new Object(); Boo ...
- 常见的dom操作----原生JavaScript与jQuery
1.创建元素 文本节点 JavaScript: document.createElement(),只接收一个参数,创建后需要手动将其添加到文档树中,例如: var newDiv = document. ...
- no suitable driver found for jdbc:mysql//localhost:3306/..
出现这样的情况,一般有四种原因(网上查的): 一:连接URL格式出现了问题(Connection conn=DriverManager.getConnection("jdbc:mysql ...