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

第3步:对新建的django进行一些调配和设置

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

起一个项目的名称并创建

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

第4步:使用manage.py文件去创建我们可视化的网站

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

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

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

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

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

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

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

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

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

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

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

    第8步:在urls中分配网址

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

![@数据分析-jacky](http://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](http://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.

解决方案为:

利用django框架,手把手教你搭建数据可视化系统(一)的更多相关文章

  1. 干货!手把手教你使用数据可视化BI软件创建企业变更流程监控大屏

    灯果数据可视化BI软件是新一代人工智能数据可视化大屏软件,内置丰富的大屏模板,可视化编辑操作,无需任何经验就可以创建属于你自己的大屏.大家可以在他们的官网下载软件.   本文以企业变更流程监控大屏为例 ...

  2. 不懂怎么创建可视化大屏?手把手教你使用数据可视化BI软件创建工厂车间数据监控大屏

    灯果数据可视化BI软件是新一代人工智能数据可视化大屏软件,内置丰富的大屏模板,可视化编辑操作,无需任何经验就可以创建属于你自己的大屏.大家可以在他们的官网下载软件.   本文以工厂车间数据监控大屏为例 ...

  3. 手把手教你使用数据可视化BI软件创建仓库可视化管理大屏

    灯果数据可视化BI软件是新一代人工智能数据可视化大屏软件,内置丰富的大屏模板,可视化编辑操作,无需任何经验就可以创建属于你自己的大屏.大家可以在他们的官网下载软件.   本文以仓库可视化管理大屏为例为 ...

  4. 手把手教你搭建SSH框架(Eclipse版)

    原文来自公众号[C you again],若需下载完整源码,请在公众号后台回复"ssh". 本期文章详细讲解了SSH(Spring+SpringMVC+Hibernate)框架的搭 ...

  5. 大数据江湖之即席查询与分析(下篇)--手把手教你搭建即席查询与分析Demo

    上篇小弟分享了几个“即席查询与分析”的典型案例,引起了不少共鸣,好多小伙伴迫不及待地追问我们:说好的“手把手教你搭建即席查询与分析Demo”啥时候能出?说到就得做到,差啥不能差人品,本篇只分享技术干货 ...

  6. 手把手教你搭建 ELK 实时日志分析平台

    本篇文章主要是手把手教你搭建 ELK 实时日志分析平台,那么,ELK 到底是什么呢? ELK 是三个开源项目的首字母缩写,这三个项目分别是:Elasticsearch.Logstash 和 Kiban ...

  7. 手把手教你搭建Pytest+Allure2.X环境详细教程,生成让你一见钟情的测试报告(非常详细,非常实用)

    简介 宏哥之前在做接口自动化的时候,用的测试报告是HTMLTestRunner,虽说自定义模板后能满足基本诉求,但是仍显得不够档次,高端,大气,遂想用其他优秀的report框架替换之.一次偶然的机会, ...

  8. 手把手教你搭建FastDFS集群(中)

    手把手教你搭建FastDFS集群(中) 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/u0 ...

  9. 庐山真面目之十一微服务架构手把手教你搭建基于Jenkins的企业级CI/CD环境

    庐山真面目之十一微服务架构手把手教你搭建基于Jenkins的企业级CI/CD环境 一.介绍 说起微服务架构来,有一个环节是少不了的,那就是CI/CD持续集成的环境.当然,搭建CI/CD环境的工具很多, ...

随机推荐

  1. 【Trie】背单词

    参考博客: https://www.luogu.org/problemnew/solution/P3294 https://blog.csdn.net/VictoryCzt/article/detai ...

  2. 测试工作小工具~总结&下载连接

    1.Gif录制小工具(动图提单 ≖ᴗ≖) 地址:https://licecap.en.softonic.com/download

  3. 阿里云 负载均衡 HTTP转HTTPS

    一.相关文档 1.证书服务 2.简单路由-HTTP 协议变为 HTTPS 协议 二.阿里云操作界面 1.云盾证书服务管理控制台(查询CA证书服务) 2.负载均衡管理控制台 三.相关文档 1.Syman ...

  4. TCP协议探究(二):超时与重试

    1 概述 TCP提供可靠的运输层. 可靠性保证之一:确认从另一端收到的数据. 但数据和确认都有可能会丢失.TCP通过在发送时设置一个定时器来解决这种问题. 如果当定时器溢出时还没有收到确认,它就重传该 ...

  5. PHP如何通过URL访问,获得新的URL 两种方法

    1.1 $url = 'http://passport.drcloud.cn/api/logon.asp?id=1&ru=http://203.158.158.122/store/thirdL ...

  6. SvcUtil.exe工具生成客户端代理类

    1.以管理员身份运行vs下命令工具: 2.运行代码示例:C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin>svcutil http: ...

  7. Stanford NLP 课堂笔记之正则表达式

    1.[]表达式的用法 正则表达式可以让我们匹配我们想要的字符串形式,增加了效率,在自然语言处理领域有较大的作用. 模式 匹配 [Ww]oodchuck Woodchuck,woodchuck [123 ...

  8. 如何从零搭建hexo个人博客网站

    https://www.jianshu.com/p/adf65cbad393?utm_source=oschina-app   准备工作 github账号 node.js 环境搭建 git使用 mar ...

  9. uuid:全局唯一标识符

    uuid1:IEEE 802 MAC地址 import uuid ''' UUID1值使用主机的MAC地址计算.uuid模块使用getnode函数来获取当前系统的MAC值 ''' print(uuid ...

  10. 《浏览器工作原理与实践》<04>从输入URL到页面展示,这中间发生了什么?

    “在浏览器里,从输入 URL 到页面展示,这中间发生了什么? ”这是一道经典的面试题,能比较全面地考察应聘者知识的掌握程度,其中涉及到了网络.操作系统.Web 等一系列的知识. 在面试应聘者时也必问这 ...