【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
ubuntu怎么安装pythonpython 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的内容,⽤户浏览器,系统等信息在⾥⾯
现在部署的仅提供本机访问,接下来将如何实现部署到服务器上,供所有主机访问
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
plate.loader import get_template
import datetime
template = get_template(‘learn/templates/index.html’)
html = der({‘time’:now})
return HttpResponse(html)
注意:此处需要⾃⼰在learn⽬录下新建⼀个templates⽂件夹,⽤于存放⽣成的html⽂件
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论