利用django框架,手把手教你搭建数据可视化系统(一)

如何使用django去构建数据可视化的 web,可视化的结果可以呈现在web上。

使用django的MTV模型搭建网站

基础铺垫—MTV模型

Created with Raphaël 2.1.0Request服务器(Djangoweb)Response

首先,要搞清楚我们去访问服务器,服务器返回信息的行为。

1)Request向服务器(Djangoweb)发起请求

  • 点击页面,或查看网页信息,都是这个过程

2)服务器回应-Response

  • 服务器抛出的可能是某个页面,也可能是图片,或是一组动态的数据

上面Request发出请求命令给服务器,服务器接受指令回应这个行为,这个一个比较粗略的描述。那么,如果一个网站的后端是用Djangoweb搭建的,那么它们之间是如何运作的。那么,我们就要来剖析Djangoweb服务器内部更细致的结构是怎样的。

Djangoweb内部结构

Views层

  • 作用

    • 调配我们要加载网页的数据

    • 把我们要加载的对应的网站找出来

Models层

是一个托管数据的层级,Models是用python的语言,python的方面去进行数据库中的增、删、改、查、存储等操作

  • 作用

    • Views首先会在Models中查找我们要的数据;

    • 接下来,Views会把从Models层中找到的数据,装载在Templates层中

Templates层

Templates层就是模版层,就是我们看到网页的样貌。

MTV模型

  • M-数据库
  • T-模版
  • V-控制层

更细致的过程

服务器接受一个请求,这个请求对应一个URL,找到特定的views(因为有不同的页面,所有会有不同的views),这个特定的views会从models调取特定的数据,这个数据会装载在templates,然后呈现给我们浏览网页时,有数据的网页。

有些网页的数据是不断变化的,这个就相当于不同的templates加载不同的数据。

具体实操

(一) Django项目的新建

第1步:打开IDE,新建New Project

这里写图片描述

第2步:在新建项目下,创建django

@数据分析-jacky

第3步:对新建的django进行一些调配和设置
考虑到我们可能要新建多个网站,考虑到每个网站的修改变动不互相影响,我们采用创建虚拟环境的方法,当然,有些初学者系统创建虚拟环境会失败,这里作为学习,不创建虚拟环境,对后面的学习也是没有影响的。

@数据分析-jacky

@数据分析-jacky

起一个项目的名称并创建

@数据分析-jacky

这样Django的网站就创建成功了

@数据分析-jacky

第4步:使用manage.py文件去创建我们可视化的网站
为什么用manage.py去创建呢?我们通过文件代码可以看出,manage帮我们搞定了很多的环境变量,对于包的导入和查找来说,Django都是一个很复杂的环境,所以用manage文件创建可以保证文件都在Django目录下。

@数据分析-jacky

如果目录中有Django的文件(如下图所示),那么就说明我们创建成功了

@数据分析-jacky

  • 这里需要提醒的是,有的朋友对manage执行startapp命令时可能会出线如下错误提示:

@数据分析-jacky

  • 解决方案,大家可以参照stack,在自己的电脑的终端输入相应代码就可以解决。

@数据分析-jacky

@数据分析-jacky

第5步:使用settings文件中添加网站

  • settings文件中包含django站点的路径和安全设施

@数据分析-jacky

现在回顾一下开头的MTV模型,首先我们向服务器发起请求(Request到url),接下来url找到了对应的调配层views,最后views从templates和models中找想要的数据和网页,这就是django创建网页的整体逻辑。但是,我们具体操作django时,这个过程实际上是反过来的:我们先对templates网页进行设计,接着反过来添加调配它的视图函数views,最后在urls文件下给它分配一个链接。我们先分享创建一个静态的网页,这是models层是用不上的(models后面再跟大家分享)。

第6步:在templates层中添加可视化的模版

@数据分析-jacky

  • 点击右键创建htm文件,将html文件命名为index,这就是我们要创建访问网页的首页。

@数据分析-jacky

第7步:在views层中调用templates的视图函数

@数据分析-jacky

  • 上面,我们只是创造了一个函数index,一个网页是否能出现在网站上,网址是衡量它唯一的途径, 接下来,我们就要在urls中给我们的网站分配一个网址

    第8步:在urls中分配网址


@数据分析-jacky

第9步:运行 Django项目,创建网站

![@数据分析-jacky](https://img-blog.csdn.net/20171002095750069?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamFja3lfemh1eXVhbmx1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) 这样,我们输入网址:http://127.0.0.1:8000/index ,我们的数据可视化网站就初步搭建完成了,我们看看效果: ![数据分析-jacky](https://img-blog.csdn.net/20171002101713785?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamFja3lfemh1eXVhbmx1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
  • 这里要特别注意的是:由于django版本不同,有些朋友在运行django的时候,会报错:

WARNINGS:
?: (1_8.W001) The standalone TEMPLATE_* settings were deprecated in Django 1.8 and the TEMPLATES dictionary takes precedence. You must put the values of the following settings into your default TEMPLATES dict: TEMPLATE_DIRS.

解决方案为:

@数据分析-jacky

转载于:https://www.cnblogs.com/shujufenxi/p/9054451.html

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

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

相关文章

智能音箱 之 扬声器喇叭介绍

在全双工语音交互的系统中,功放的质量是非常重要的,因为AEC回声消除对信号失真 是非常敏感的。音频通路的整体谐波失真需要控制在5%以内。 对于整个系统的谐波失真来说,扬声器是最关键的因素,其次是功放,麦克风的很小…

关于拓扑排序的问题-P3116 [USACO15JAN]会议时间Meeting Time

https://www.luogu.org/problem/show?pid3116 这道题目很水啊,但是我没有1A,而且wa了好多; 题目意思我就不讲了; 反正就是一个拓扑序dp; 但是这道题目规定了起点是1; 所以我一开始直接把1放进队列里然…

HD-SDI DVR发展与应用剖析

自2010年以来,视频监控已经进入“高清”监控时代;随着高清的发展,HD-SDI高清数字系统开始进入人们的视线,在大、小展会上均可以轻松找到“数字高清”的产品和解决方案。作为HD-SDI系统中编码、存储部分的HD-SDI高清数字硬盘录像机…

UML学习——类图(三)

1.类图 UML类图是用来描述类、接口、协作及它们之间的关系的图。用来显示系统中各个类的静态结构。 2.类图的组成元素 类图由以下六种元素组成:类,接口,泛化关系,关联关系,依赖关系,实现关系。 3.类图的绘制…

传锤子科技解散成都分公司 才搬迁一年罗永浩就顶不住了

雷帝网 乐天 10月16日报道今日有网友爆料,锤子科技解散成都分公司。有网友指出,爆料的人是锤子科技早期员工王前闯。网友爆料锤子成都研发中心解散网友爆料锤子成都研发中心解散2016年,锤子科技亏损4亿元,一直徘徊在破产的边缘&am…

智能音箱 之 功放与扬声器(喇叭)的匹配关系

1. 功放的概念   功率放大器简称功放,俗称 “扩音机”,是音响系统中最基本的设备,它的任务是把来自信号源(专业音响系统中则是来自调音台)的微弱电信号进行放大以驱动扬声器发出声音。 2. 功放的分类 功率放大器分…

前端性能优化 Web前端应该从哪些方面来优化网站?

作者:斯迪链接:https://www.zhihu.com/question/21658448/answer/18903129来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。前端是庞大的,包括 HTML、 CSS、 Javascript、Image 、Flash…

嵌入式NVR发展浅析

随着视频监控的高速发展,视频监控对硬盘录像机的要求也在不断提高,在以往“看得见”的基础上,要求视频画面看的更为清晰、准确。相对于传统硬盘录像机,NVR最主要的特征就是“网络化”、“高清化”,在视频监控“高清化”…

Maven and Nexus2

2019独角兽企业重金招聘Python工程师标准>>> Maven and Nexus2 Maven是什么? 构建工具: 通过简单的命令,能够完成清理、编译、测试、打包、部署等一系列过程。同时,不得不提的是,Maven是跨平台的&#xff0…

Linux kernel的中断子系统之(九):tasklet

返回目录:《ARM-Linux中断系统》。 总结: 二介绍了tasklet存在的意义。 三介绍了通过tasklet_struct来抽想一个tasklet,每个CPU维护一个tasklet链表tasklet_vec/tasklet_hi_vec,然后介绍了如何定一个一个tasklet(静态/动态)&#…

市面主要远场语音交互技术架构

为什么Google Home要采用双麦方案,而且大部分智能音箱才用环形六麦?事实上,这是由各家不同的技术架构决定的,当前市面上主要存在三种远场语音交互技术架构。 1、以Google为代表的纯云端技术架构 首先就是以Google为代表的纯云端技…

iOSPush自动隐藏tabbar

只需要在UITabBarController添加控制器的时候调用YZNav初始化,就可以实现tabbar的自动隐藏了。 直接上github地址:https://github.com/YouZhiZheShiJingCheng/YZNav 转载于:https://www.cnblogs.com/BK-12345/p/6472815.html

中国智能高清视频监控未来发展趋势

浏览数: 1228 海康威视:田振华 《中国公共安全》:您认为高清摄像机将朝着哪个方向发展?像素会达到什么标准? 高清摄像机发展趋势: 一:高清 虽然说现在已经实现高清,但是从显示效果来看现有的高…

智能音箱 之 功放介绍

基本分类 功率放大器分甲类功放(A 类),乙类(B 类),甲乙类(AB 类)和丁类(D 类); A 类 指在信号的整个周期内,放大器的任何功率输出…

create_workqueue和create_singlethread_workqueue【转】

本文转载自:http://bgutech.blog.163.com/blog/static/18261124320116181119889/ 1. 什么是workqueueLinux中的Workqueue机制就是为了简化内核线程的创建。通过调用workqueue的接口就能创建内核线程。并且可以根据当前系统CPU的个数创建线程的数量,使得线…

平安城市与智慧城市对接的关键要素

平安城市经过前两个阶段(布点、联网)的大规模建设之后,如今正向系统应用深化,数据深入挖掘利用的方向发展。以视频监控为基础单元,一些城市开始尝试在既有的社会治安管理平台系统基础上拓展更多的应用功能,…

vue学习之路.02

2019独角兽企业重金招聘Python工程师标准>>> 第一个vue项目 1.创建 vue init webpack app01 2.安装依赖 cd app01 npm install 3.构建 npm run dev 启动本机的8080端口 或 …

等价表达式

小目标的最后一步。 原题链接:https://www.luogu.org/problem/show?pid1054 精力不足,代码工作可能要放在后几天。。。 思路已经明确了,我说一下。 这道题的大意是给出若干表达式,问这些表达式的值和初始表达式的值是不是相等。 …

解析电子墨水屏技术(工作原理与LCD的区别)

阅读电子书早已成为大家生活中一部分,方便轻巧的电子版书籍更便于携带,而电子阅读器也不仅仅局限于电脑、手机等传统设备,新兴的电子书阅读器渐渐为我们所接受。E-ink电子墨水技术就是现在最著名的产品之一,他的出现让电子书阅读器…

27:级数求和

27:级数求和 查看提交统计提问总时间限制: 1000ms内存限制: 65536kB描述已知:Sn 1+1/2+1/3+…+1/n。显然对于任意一个整数K,当n足够大的时候,Sn大于K。 现给出…