python可视化方案pyecharts + Django 框架

Posted hot-pot

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python可视化方案pyecharts + Django 框架相关的知识,希望对你有一定的参考价值。

背景:基于对于可视化的巨大需求以及成本因素,利用pyecharts + Django 的可视化方式,显然是一种比较优的选择 
通过可视化可寻找:模式、关系和异常

环境:强迫症患者,历来都是用最新版本 
Django:2.1.0 
python:3.x (win10是3.7,Ubuntu是3.5) 
操作系统环境:win10与Ubuntu

1、Django安装: 
Django是利用python开发的免费开源的Web框架,可用于快速搭建网站 
1.1、安装Django 
笔者喜欢采用pip安装方式: 
Win10:pip installl Django 
Ubuntu:(sudo) pip install Django

1.2、检验是否安装成功 
进入python环境:

import django 
django.VERSION 
(2, 1, 0, ‘final’, 0) 
如果能看见相应的版本号,则证明安装成功。

2、新建一个项目 
Ubuntu在终端输入以下命令(Win10则在cmd操作) 
django-admin startproject mysite #创建一个项目,名称为mysite 
注:如果 django-admin 不行,请用 django-admin.py 
成功后可以看见如下目录 
技术分享图片 
新建了一个 mysite 目录,其中还有一个 mysite 目录,这个子目录 mysite 中是一些项目的设置 settings.py 文件,总的urls配置文件 urls.py 以及部署服务器时用到的 wsgi.py 文件, init.py 是python包的目录结构必须的,与调用有关

3、新建一个应用(app),名称learn 
进入mysite目录,而非mysite/mysite 
python manage.py startapp learn # learn 是一个app的名称 
技术分享图片 
随后在mysite目录下多了一个learn文件夹

4、环境配置 
4.1、修改 mysite/mysite/settings.py,如图所示 
技术分享图片 
此处是为了将learn文件(即新建的APP)夹加入Django环境,即注册程序

4.2、替换learn/view.py,如图所示 
技术分享图片 
第一行:# coding:utf-8 是为了声明编码为utf-8 
第二行:引入HttpResponse,是用来向网页返回内容,就像Python中的print,只不过此处是把内容显示到网页上 
关于自定义函数index(),此处第一个参数必须是request,与网页发送来的请求有关,request变量里面包含get或post的内容,用户浏览器,系统等信息在里面

现在环境等都搭建好了,网页显示内容也写好了,但是如何访问? 
4.3、修改mysite/mysite/urls.py,新增部分内容 
技术分享图片 
标记部分即为新增内容 
from learn import views as learn_views:是为了引入learn文件夹中的views.py脚本 
path(”, learn_views.index):说明输入的只有IP与端口号(即http://127.0.0.1:8000/)时执行,views.py脚本 
拓展: 
若修改为如图所示 
技术分享图片 
则说明输入如下内容,http://127.0.0.1:8000/add0/则执行views00.py脚本,这也就是所谓的接口方案

4.4、运行python manage.py runserver 
若显示如图所示,则说明成功了 
技术分享图片 
打开浏览器访问:http://127.0.0.1:8000/ 
则会出现如下页面(因为我现在已经将其部署到了服务器所以输入的是其他内容,可忽略此处,后续会说明) 
技术分享图片

现在部署的仅提供本机访问,接下来将如何实现部署到服务器上,供所有主机访问 
5、部署到服务器,供所有主机访问 
部署到服务器同部署到本地,前期的操作完全一致,可先参照前面步骤完成1-4步 
但是部署到服务器还需要做以下工作 
5.1、开通端口,这个需要自己开通,假设开通的端口号为8000

5.2、开通访问权限 
修改mysite/mysite/settings.py中的ALLOWED_HOSTS=[] 为 
技术分享图片 
即允许所有主机访问,当然也可以只添加允许访问的主机 
其后在mysite目录下执行以下命令 
python manage.py runserver 0.0.0.0:8000 
此时在本地主机输入IP:8000,即IP+端口号,即可返回如下内容 
技术分享图片

期间踩过的坑: 
1、python2与python3同时存在 
我用的Ubuntu,里面既有python2也有python3,且默认使用python2,但是我需要默认使用python3 
解决方案: 
whereis python #找到python位置 
我的位置是在/usr/bin目录下,故进入该目录 
ll |grep python 
发现其中默认python2是通过软连接实现即python指向python2,故而解决方案是删除相应的软连接 
新建软连接python -> pyhton3.5 
技术分享图片

2、报错:DisallowedHostat / Invalid HTTP_HOST header: ‘198.211.99.20’. You may need to addu’198.211.99.20’ to ALLOWED_HOSTS 
这是因为没有修改mysite/mysite/settings.py中的ALLOWED_HOSTS=[] 开通权限导致的问题

3、mysite下目录结构应该 
技术分享图片 
有部分文件因为版本的问题,可能存在差异,但是mysite下一定有的三个文件或者目录为:learn(APP名称)、manage.py、mysite

4、 
技术分享图片
按照提示执行相应操作即可

重要内容: 
1、是否所有代码都必须写入mysite/learn/views.py脚本中,如果存在多个脚本,怎么处理 
解决方案,祥看步骤4.1-4.3

2、如果脚本本身生成的是HTML怎么处理 
即pyecharts生成的本就是html此时怎么展示 
利用如下框架 
from django.http import HttpResponse 
from django.template.loader import get_template 
import datetime 
template = get_template(‘learn/templates/index.html’) 
html = template.render({‘time’:now}) 
return HttpResponse(html) 
注意:此处需要自己在learn目录下新建一个templates文件夹,用于存放生成的html文件

















































































以上是关于python可视化方案pyecharts + Django 框架的主要内容,如果未能解决你的问题,请参考以下文章

python数据可视化:pyecharts

基于Python的数据可视化库pyecharts介绍

Python机器学习---Pyecharts制作可视化大屏

python可视化神器——pyecharts库

Python数据可视化神器——pyecharts的超详细使用指南!

Python可视化超详细Pyecharts 1.x教程,让你的图表动起来~