win+R打开终端
1.创建虚拟环境
cd /d F:\djangotest
python -m venv djangoenv
2.激活虚拟环境
目录切到djangoenv/Scripts下
activate
3.创建django项目
cd ../..
django-admin startproject data_visualization
4.创建app
cd data_visualization
python manage.py startapp visualization
至此项目应用就创建好了,可以使用pip install django==2.2安装
实现功能
1.配置settings
在INSTALLED_APPS中添加应用
指定模板位置
2.设置urls
在总的urls文件中指定应用
在应用的urls中指定请求执行的路径
3.编写views.py
import base64 import io from django.shortcuts import render # Create your views here. import pandas as pd from pymongo import MongoClient import matplotlib.pyplot as plt import numpy as np client = MongoClient(host='192.168.2.220',port=27017) #指定数据库 mydb = client['ztcm_bid'] col = mydb['ccgp_feibiao'] original_data = pd.DataFrame(col.find()) # print("original_data=",original_data) def draw_bar(request): mydb = client['ztcm_bid'] col = mydb['ccgp_feibiao'] df = pd.DataFrame(col.find()) df1 = df.replace("", np.nan).replace("/", np.nan) x = np.array([df.columns[5], df.columns[6], df.columns[13], df.columns[15]]) print("x=", x, sep='\n') counts = np.array([df1['title'].count(), df1['project_number'].count(), df1['project_contact_number'].count(), df1['purchase_address'].count()]) print("counts=", counts, sep='\n') # 第一个参数是x轴的数据,第二个参数是y轴的数据,第三个参数是柱子的大小,默认值是1(值在0到1之间),color是柱子的颜色,alpha是柱子的透明度 plt.bar(x, counts,0.8, color='r', alpha=0.8) # 为每个条形图添加数值标签 for x, y in enumerate(counts): plt.text(x, y + 50, '%s' % y, ha='center') plt.xticks(rotation=-20) img = io.BytesIO() plt.savefig(img,format='png') img.seek(0) plot_url = base64.b64encode(img.getvalue()).decode() print("plot_url=",plot_url) # plt.show() args = {"plot_url":plot_url} return render(request,'draw_bar.html',args)
4.在项目下新建目录templates
5.启动项目
在terminal中输入
python manage.py runserver
6.在新页面中打开
http://localhost:8000/visualization/draw_bar/