django的web开发笔记1(智能诊断系统数据概览记录)

接于上一篇,这一篇主要记录如何链接mysql数据库以及从数据库中调用数据信息到页面,同时包含百度地图api的一些使用。

其中包括模块,echert图表绘制数据调用,百度地图数据信息调用以及一些单机效果,页面数据调用等。

1.页面数据调用:

首先要建数据库,我们用的是mysql,所以要改写setting.py中DATABASE模块,(django默认是sqllit)

DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'bikeData',                 #数据库名'USER': 'root','PASSWORD': 'helloworld','HOST': '127.0.0.1','PORT': '3306',}
}

然后链接并创建数据库,通过modos.py映射sql语句创建数据库(以user创建为例)

  • 每个模型是 django.db.models.Model 的一个Python子类。
  • 该模型的每个属性都代表一个数据库字段。
  • 有了这一切,Django给你自动生成数据库的访问API;
from django.db import models
from django.contrib import admin
# Create your models here.#用户信息
class User(models.Model):username = models.CharField(max_length=50)password = models.CharField(max_length=50)

这里出现出现的CharField, DateField, TextField都是Django用于储存数据字段的Filed子类。你或许需要看一下官方文档(https://docs.djangoproject.com/en/1.11/ref/models/fields/)里的说明。

先在modos窗创建相应的类,然后在到manage.py所在的目录中(cmd)打开dos操作窗口执行以下操作

python manage.py makemigrations (数据库名) (本机是python36 manage.py makemigrations,因为多版本的原因需要区分)

python manage.py migrate (数据库名)

 

当然,反着来也可以,我们可以根据数据库中的表反向创建modos文件,如下:

Django引入外部数据库还是比较方便的,首先在setting里面设置你要连接的数据库类型和连接名称,地址之类,和创建新项目的时候一致 

运行下面代码可以自动生成models模型文件 
python manage.py inspectdb 
这样就可以在命令行看到数据库的模型文件了

把模型文件导入到app中 
创建一个app 
django-admin.py startapp app 
python manage.py inspectdb > app/models.py 
ok模型文件已经生成好了。下面的工作就和之前一样了

注意,如果你在数据自己的数据表你也可以自己手动创建modos,

django重数据库中取出的数据的基本操作查文档(values(),get(),all())等,注意它们的返回格式以及参数。valuse()的返回可以当做list处理。

用于页面传输和展示的数据建议以键值对的形式,json或者dict的形式,便于在页面上按需要调用。同时在python、以及js中对字典的读取是,dict['XXX'],而在html中对传过来的数据的读取是dict.xxx。

如果在html中想要在外部链接的js中使用后台传过的数据可以现在<head>中创建以及js对象,eg:

<head>
<script type="text/javascript">var MyChartVar = {chart1_data1:{{ chart1.data1|safe }},chart1_data2:{{ chart1.data2|safe }},chart2_data1:{{ chart2.data1|safe }},chart2_data2:{{ chart2.data2|safe }},chart2_data3:{{ chart2.data3|safe }},map_data:{{ mapdate.data|safe }},}</script>
</head><script type="text/javascript" scr="js/mm.js" ></script>

这样mm.js中就能直接调用了(调用map_data)

var datas = MyChartVar['map_data'];

具体要什么就要按dict的模式调用什么。

 

2.百度地图api通过数据库添加点位并点击效果

       // 编写自定义函数,创建标注function addMarker(point){var marker = new BMap.Marker(point);map.addOverlay(marker);}var datas = MyChartVar['map_data'];  //将后台数据转接过来var points = [];for (var i = 0; i<datas.length; i++){var point = new BMap.Point(datas[i]['lng'],datas[i]['lat']);   //遍历并创建地图点addMarker(point);                       //先将点位展示point.id = datas[i]['stationid'];      //分别将有需要的信息存储,便于调用point.name = datas[i]['stationname'];point.lng = datas[i]['lng'];point.lat = datas[i]['lat'];point.zonename = datas[i]['zonename'];point.bikecount = datas[i]['bikecount'];point.max = datas[i]['max'];points.push(point);};var pointCollection = new BMap.PointCollection(points);  //用pointcollection来存储带信息的点,这样不用在单机事件的时候循环遍历点来取出相应的信息。pointCollection.addEventListener('click', function (e) {
//          alert('单击点的坐标为:' + e.point.lng + ',' + e.point.lat);  // 监听点击事件var opts = {width: 100,     // 信息窗口宽度height: 130,     // 信息窗口高度title: "站点信息", // 信息窗口标题enableMessage: true,//设置允许信息窗发送短息enableAutoPan: true};var infowindow = new BMap.InfoWindow(e.point.name + ':' + e.point.id+'</br>'+'所属片区:'+e.point.zonename+'</br>'+'最大容量:'+e.point.max+'</br>'+'可借车辆:'+e.point.bikecount, opts);var positions = new BMap.Point(e.point.lng,e.point.lat); //弹窗的定位map.openInfoWindow(infowindow, positions);   //是弹出每次出现在相应点上});map.addOverlay(pointCollection)

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/540102.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring中应用反射机制浅析

我们知道,Spring中大量使用了反射机制&#xff0c;那么究竟是什么地方使用了呢&#xff1f;就从源头说起吧。 一 反射源头Class类 对类的概念我们已经非常熟悉了。比如可以有Student这个类&#xff0c;Person这个类。但是我们要知道&#xff0c;有一个叫Class的类&#xff0c;…

ios nslog 例子_iOS开发-使用宏自定义输出(NSLog)

前言&#xff1a;1)输出日志是会大量损耗系统性能2)输出的信息很容易会被截取到&#xff0c;导致信息不安全。所以我们会在发行版(Release)取消所有的Log。如果一行一行地去注释掉Log&#xff0c;显然不是一个明确的选择。因此我们可以使用宏去自定义Log输出。最简单的一个例子…

python小技巧积累--题库(持续更新)

介绍 作为一名程序员&#xff0c;除了需要具备解决问题的思路以外&#xff0c;代码的质量和简洁性也很关键。 python内置库中就有很多简洁而又优雅的操作&#xff0c;这里的知识都来源于网络积累&#xff0c; 闲暇时整理下来方便温故。目录 >选择正确的内置功能 使用enum…

提高SQL执行性能方案:如何让你的SQL运行得更快

---- 人们在使用SQL时往往会陷入一个误区&#xff0c;即太关注于所得的结果是否正确&#xff0c;而忽略了不同的实现方法之间可能存在的性能差异&#xff0c;这种性能差异在大型的或是复杂的数据库环境中&#xff08;如联机事务处理OLTP或决策支持系统DSS&#xff09;中表现得尤…

休眠后gpio状态_STM32中GPIO的8种工作模式总结

STM32中GPIO的8种工作模式总结一、推挽输出&#xff1a;可以输出高、低电平&#xff0c;连接数字器件;推挽结构一般是指两个三极管分别受两个互补信号的控制&#xff0c;总是在一个三极管导通的时候另一个截止。高低电平由IC的电源决定。形象点解释&#xff1a;推挽&#xff0c…

Ubuntu16.04 下 tensorRT安装

环境准备 主要是根据工程环境需要&#xff0c;参考trt文档安装trt 1.查看trt适配情况 &#xff1a;链接跳转&#xff0c;注意&#xff0c;不同版本的trt有不同版本的文档&#xff0c;请以最新文档为准。 2.根据自己系统情况下载相关包 因为我自己拉的docker镜像是ubuntu16.04…

左右xcode的重构选项的一些理解

Rename(重命名):对标示符进行重命名,以获得更好的代码可读性,这些标示符包含类,方法或者函数的名称. Extract(抽取):将你在XCode种选择的代码抽取到一个新的方法或函数中. Create SuperClass(创建父类):为Xcode中当前所选的类定义父类 Move Up(上移):将所选择的方法,属性,或实例…

window 如何查看tomcat 实时日志_如何处理生产环境Tomcat的catalina.out日志?

前语&#xff1a;不要为了读文章而读文章&#xff0c;一定要带着问题来读文章&#xff0c;勤思考。作者&#xff1a;jmcui 来源&#xff1a;http://1t.click/x4q# 前言随着每天业务的增长&#xff0c;Tomcat 的catalina.out日志 变得越来越大&#xff0c;占用磁盘空间不说。要…

zabbix的agent端的主动模式关键三个参数

如多主机超过300和队列内容过多,就采用主动模式. [rootweb03 zabbix]# egrep -v "^#|^$" zabbix_agentd.conf PidFile/var/run/zabbix/zabbix_agentd.pid LogFile/var/log/zabbix/zabbix_agentd.log LogFileSize0 StartAgents0 ServerActive172.16.1.8 Hostnameweb03…

opencv 绘制坐标曲线_OpenCV手工实现灰度及RGB直方图

#include #include#include#include#include#include#include#include#includeusing namespacecv;using namespacestd;//单通道图片直方图绘制void drawHist(vectornums){Mat hist Mat::zeros(600, 800, CV_8UC3);auto Max max_element(nums.begin(), nums.end());//max迭代器类…

onnx 测试_用于ONNX的TensorRT后端

用于ONNX的TensorRT后端解析ONNX模型以使用TensorRT执行。另请参阅TensorRT文档。有关最近更改的列表&#xff0c;请参见changelog。支持的TensorRT版本Master分支上的开发适用于具有完整维度和动态架构shape支持的TensorRT 7.2.1的最新版本。对于TensorRT的早期版本&#xff0…

paddlepaddle测试安装_百度paddlepaddle深度学习7日入门-CV疫情特辑心得

正值疫情严重之日&#xff0c;作为一名研究生被迫待在家里学习&#xff0c;手头的科研项目也严重受挫。。。偶然间&#xff0c;看到微信公众号发布这门课&#xff0c;马上报名&#xff0c;入坑&#xff01;&#xff01;&#xff01;瞬间疫情其间有学习的目标了。。该课程学习依…

apache目录 vscode_VsCode搭建Java开发环境(Spring Boot项目创建、运行、调试)

VsCode搭建Java开发环境(Spring Boot项目创建、运行、调试)安装如下两个主要扩展即可&#xff0c;这两个扩展已关联java项目开发主要使用的maven、springboot等所需要的扩展。开始步骤&#xff1a;在 Visual Studio Code 中打开扩展视图(CtrlShiftX)。输入“java”搜索商店扩展…

android dp转px的公式_Android特效专辑——自定义不一样的Toast

大家都知道&#xff0c;Android的控件有时候很难满足我们的需求&#xff0c;所以我们需要自定义View。自定义的方式很多&#xff0c;有继承原生控件也有直接自定义View的&#xff0c;今天写的是自定义的Toast&#xff0c;当然&#xff0c;这个不是复写Toast,是换一种表达形式&a…

code iban 是有什么组成_深入浅出Zookeeper(四):客户端的请求在服务器中经历了什么...

作者 泊浮目 沃趣科技高级研发工程师出品 沃趣科技1. 前言当我们向zk发出一个数据更新请求时&#xff0c;这个请求的处理流程是什么样的&#xff1f;zk又是使用了什么共识算法来保证一致性呢&#xff1f;带着这些问题&#xff0c;我们进入今天的正文。2. 设计模式&#xff1…

Centos7: 配置IO调度

今天有同事问我个问题&#xff1a;“CentOS7如何修改IO默认的调度”&#xff0c;我这里简单整理下如何调整的方法&#xff1a; 1、查看CentOS7下IO支持的调度 1234[rootkvm02 ~]# dmesg | grep -i scheduler [ 16.900459] io scheduler noop registered[ 16.900473] io sch…

启动activemq_「Java」 - SpringBoot amp; ActiveMQ

一、消息队列消息队列中间件是分布式系统中重要的组件&#xff0c;主要解决应用耦合、异步消息、流量削锋等问题&#xff0c;实现高性能、高可用、可伸缩和最终一致性架构&#xff0c;是大型分布式系统不可缺少的中间件。目前在生产环境中使用较多的消息队列有ActiveMQ、Rabbit…

永不休眠怎么设置_电脑休眠后应该怎样唤醒?

可能有朋友会碰到这种情况&#xff0c;电脑屏幕显示正在休眠&#xff0c;而且不停的转圈&#xff0c;这是怎么回事&#xff0c;如何唤醒?下面让坚哥为大家分析一下吧。电脑开机显示休眠一般根据以下几种情况进行处理&#xff1a;1、正常电脑休眠&#xff1a;一般的是按一下电源…

配置ssl证书_Mysql配置ssl证书

本环境基于mysql5.6配置&#xff0c;通过openssl生成证书进行配置一、确认环境信息1、查看数据库版本mysql> select version();-----------| version() |-----------| 5.6.36 |-----------2、查看数据库是否支持ssl配置mysql> show variables like have%ssl%;-----------…

echarts散点图中大小_echarts在地图上绘制散点图(任意点)

项目需求&#xff1a;在省份地图上绘制散点图&#xff0c;散点位置不一定是哪个城市或哪个区县&#xff0c;即任意点通过查询官网文档&#xff0c;找到一个与需求类似的demo&#xff1a;&#xff0c;更改代码&#xff0c;将中国地图替换为省份地图&#xff0c;省份地图的js代码…