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

摘要:
如何使用django去构建数据可视化的web,可视化的结果可以呈现在web上。那么,如果一个网站的后端是用Djangoweb搭建的,那么它们之间是如何运作的。那么,我们就要来剖析Djangoweb服务器内部更细致的结构是怎样的。起一个项目的名称并创建这样Django的网站就创建成功了第4步:使用manage.py文件去创建我们可视化的网站为什么用manage.py去创建呢?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamFja3lfemh1eXVhbmx1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)这样,我们输入网址:http://127.0.0.1:8000/index,我们的数据可视化网站就初步搭建完成了,我们看看效果:!

如何使用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

免责声明:文章转载自《利用django框架,手把手教你搭建数据可视化系统(一)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【windows】在控制面板卸载软件的时候,出现2502,2503的问题《Python》网络编程之验证客户端连接的合法性、socketserver模块下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

SqlServer数据复制出现的问题与处理

车间级SqlServer与厂级SqlServer因故障,其中某一台服务器故障重新启动后,需要确保数据库复制功能的正常。 车间级SqlServer服务器故障服务器启动后,需要做如下检查: 1、实时访问数据库的程序是否运行正常(数据采集、膨丝采集程序) 2、车间级SqlServer数据库复制是否正常:Log Reader是否运行;Queue Reader是否运...

某公司基于FineBI数据决策平台的试运行分析报告

一、数据平台的软硬件环境 二、组织机构和权限体系 组织机构:平台中已集成一套组织机构,可以建立部门、人员。也可以与现有系统的组织机构集成,将组织机构导入到平台中。 功能权限:通过配置功能点URL的方式实现各个用户相应的BI访问权限。用户第一次访问受保护的资源(某个功能点)时,会发出访问请求,服务器接收到请求后会验证用户权限,如果没有通过验证则返回登录页面...

Python中的可视化神器:pyecharts

pyecharts是一款将python与echarts结合的强大的数据可视化工具,本文将为你阐述pyecharts的使用细则 前言 我们都知道python上的一款可视化工具matplotlib,而前些阵子做一个Spark项目的时候用到了百度开源的一个可视化JS工具-Echarts,可视化类型非常多,但是得通过导入js库在Java Web项目上运行,平时用P...

element-ui的table,切换左侧树数据替换后高度变小问题

页面结构为左侧是树,右侧是表格,当切换左侧树时候,右侧表格数据改变,但是表格高度会变小,网上找的两种解决方法 方法一: 在表格数据改变后执行: this.$nextTick(()=>{ 表格加上ref='table' this.$refs.table.doLayout() }) 方法二: 1.固定表头高度 2.body_wrapper使用calc...

Hive 元数据库表信息

  Hive 的元数据信息通常存储在关系型数据库中,常用MySQL数据库作为元数据库管理。 1. 版本表   i) VERSION   -- 查询版本信息 2. 数据库、文件存储相关   i) DBS     -- 存储Hive中所有数据库的基本信息   ii) SDS    -- 存储Hive中文件存储的基本信息      3. 表、视图相关   i) ...

php插入数据含有特殊符号的处理方法

我们在向mysql写入数据时,比如: mysql_query(”update table set `title`=’kuhanzhu’s blog’”);  http://www.cnblogs.com/xiaochaohuashengmi/archive/2010/05/09/1731415.html   那就会出错。同asp时一样,数据库都会对单引...