接于上一篇,这一篇主要记录如何链接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)

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

  1. Python PyCharm Django 搭建web开发环境

    Python & PyCharm & Django 搭建web开发环境 一.安装软件 1.安装 Python 2.7.PyCharm.pip(Python包管理工具).Django ( ...

  2. 基于Django的web开发(一)

    基于Django的web开发(一) 微信关注公众号:夜寒信息 致力于为每一位用户免费提供更优质技术帮助与资源供给,感谢支持! 基于Django的web开发(一) 一.Django的安装及基本介绍 一. ...

  3. 跟小甲鱼学Web开发笔记07

    跟小甲鱼学Web开发笔记07 格式化大作战 加粗效果 strong元素 b元素 斜体效果 em元素 i元素 使用css代替b和i元素 久的不去新的不来 del和ins元素 s元素 u元素 mark元素 ...

  4. Bootstrap响应式Web开发笔记01——基础入门

    Bootstrap响应式Web开发笔记01--基础入门 Bootstrap响应式Web开发笔记02--移动端页面布局 Bootstrap响应式Web开发笔记03--Bootstrap栅格系统 Boot ...

  5. python +Django 搭建web开发环境初步,显示当前时间

    1.python 的安装 网上很多关于django跟python 开发的资料,这块我正在实习准备用这个两个合起来搞一个基于web 的东西出来现在开始学习,写点东西记录一下心得. 开发环境是window ...

  6. 智能手机Web开发笔记

    智能手机版(简称M版)前端开发终于告一段落,第一次做移动端开发,没有想象中那么难搞,但是期间也遇到了各种这样那样的问题,虽然从小日记都不是自己写的,但是开发笔记还是要自己写的,不敢说让别人学习,只是仅 ...

  7. 移动端web开发笔记

    目录 移动端基础 视口 meta视口标签 物理像素与物理像素比 二倍图 背景缩放background-size 背景二倍图以及多倍图切图 移动端开发选择 移动端技术解决方案 移动端特殊样式 移动端技术 ...

  8. 移动端web开发笔记(一)

    我本来一直在开发PC端的网页的,但是看到很多招聘都要求要有移动端开发的经验,所以开始学习一下! 先搞清楚两个概念,移动端web开发,web app开发 1. 移动web开发(pc端的页面用手机浏览器打 ...

  9. 【Python百日进阶-Web开发-Feffery】Day343 - fac数据展示01:AntdAvatar头像(阿凡达)

    文章目录 前言:fac是什么? "人生苦短,我用Python:Web开发,首选Feffery!" ↓↓↓ 今日笔记 ↓↓↓ 一.fac数据展示:AntdAvatar头像(阿凡达) ...

最新文章

  1. Facebook发布人工智能产品DeepText:能以人类智商
  2. 初识Lucene.net
  3. 软件技术基础_前端系列课程(7)-软件技术基础
  4. OpenCV-python学习笔记(二)——image processing图像基本处理
  5. 限制码率的视频编码标准比较(包括MPEG-2,H.263, MPEG-4,以及 H.264)
  6. google font 字体下载方式
  7. 二分类模型AUC评价法
  8. 程序设计python_Python程序设计—车万翔
  9. 解决python使用gmail smtp服务发邮件报错smtplib.smtpauthentic
  10. 泰勒(Taylor)展开式(泰勒级数)
  11. Java中通过某一年的两个时间计算天数
  12. 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变,句子中单词以单个空格符隔开,为简单起见,不带标点符号。 例如输入“I am a student”,则通过控制台输出“student a
  13. 2021年展望Android原生开发的现状,你不懂还不学?
  14. (4)AES分组加密算法(原理详解)
  15. php 数组 时间戳排序,php – 按时间戳排序Summed Collection
  16. 【FreeRTOS】06 临界段的保护——关中断和关调度
  17. Mysql出现问题:ERROR 1091 (42000): Can‘t DROP ‘**‘; check that column/key exists解决方案
  18. 计算机专业这么多课程怎么学?
  19. 如何打开tensorboard
  20. 2022年裂解(裂化)工艺考试题库模拟考试平台操作

热门文章

  1. 如何在屏幕实时显示自己键盘的输入字符?
  2. C语言(CED)对于一个2行N列的走道。现在用1*2,2*2的砖去铺满。问有多少种不同的方式(递归求解)
  3. java模仿qq好友面板的布局(BoxLayout问题)
  4. android wifi设备连接通信,通过wifi与设备进行通信(Android)
  5. html层次选择器例题,详解强大的jQuery选择器之基本选择器、层次选择器
  6. linux shell结构,linux——Shell的控制结构(附shell编写代码和运行结果)
  7. .net 开发 html框架,Asp.net的开发框架
  8. mysql插入语句例句,一句简单的MySql插入语句怎么写 ?
  9. 北京航空航天大学计算机科学与工程系,北航郑征主页 北京航空航天大学教师个人主页系统...
  10. NameError: name 'long' is not defined