Django之Models取MySQL数据,并使用Echarts展示

 

 


前言

 


一、Django是什么?

Django是 Python 开发的一个免费开源的 Web 框架,几乎囊括了 Web 应用的方方面面,可以快速搭建网站。它自带管理后台、灵活的路由系统、强大的数据库ORM、易用的模块系统以及缓存系统。Django是一个MVC框架,但因其本身已经实现了控制器这部分的功能,所以更为关注其MVT模式,和MVC无本质区别,即模型(Model)、视图(View)、模板(Template)。

MVC模式是一种软件设计模式,即模型(Model)、视图(View)、控制台(Controller)。

● 模型(Model):用于处理数据逻辑的部分,处理视图的数据请求。模型对象处理在数据库中存储数据。Django的模型类对应的数据库的表。

● 视图(View):处理数据显示的部分,依据模型数据建立,向用户以特定格式呈现全部或部分数据。

● 控制器(Controller):根据外部用户操作访问模型获取数据,并调用视图显示这些数据,可以说是模型与视图之间交互的纽带。

MTV:

● 模型(Model):用于处理数据逻辑的部分,处理视图的数据请求。模型对象处理在数据库中存储数据。Django的模型类对应的数据库的表。

● 模板(Template):对应MVC中的view,负责把用户页面展示出来。

● 视图(View):调用Model和Template


二、创建Django项目

1.使用命令行

安装Django2.2版本

pip install django==2.2

命令行创建 

django-admin startproject djangoProject2

进入pycharmTerminal,进入djangoProject1目录

 python manage.py runserver 0.0.0.0:8000 

 输入网址127.0.0.1:8000或者点击运行结果,显示

使用命令行的目录:

无templates文件,需自己创建,并且需在setting.py中的TEMPLATES配置:

'DIRS':[os.path.join(BASE_DIR,'tempates')]

项目不能识别templates为模板目录,需要将该目录标记成模板目录才可以使用
       标记:  templates目录右键 ---> mark Directory  as ---> Template Folder,目录变成紫色

                                        

  • 7
    点赞
  • 105
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
使用Django分析各个省份的客户数据使用echarts进行可视化,你可以按照以下步骤进行: 1. 收集数据:首先,你需要收集客户数据。这可以通过表单、API或其他方式进行。确保你收集了每个客户所在省份的信息。 2. 存储数据:将收集到的客户数据存储到数据库中。在Django中,你可以使用模型来定义客户数据的结构,并使用ORM(Object-Relational Mapping)来将数据存储到数据库中。 3. 分析数据使用Django的视图来分析客户数据。在视图中,你可以使用查询集API来查询数据库中的数据,并使用Python数据分析库(例如pandas)来对数据进行分析。 4. 可视化数据使用echarts来将分析后的数据进行可视化。echarts是一款基于JavaScript的开源可视化库,可以将数据转换为各种图表,例如地图、饼图、柱状图等。在Django中,你可以将echarts集成到模板中,并将数据作为上下文变量传递给模板。 以下是一个简单的示例,展示如何使用Djangoecharts进行省份客户数据的可视化: models.py: ```python from django.db import models class Customer(models.Model): name = models.CharField(max_length=100) province = models.CharField(max_length=100) # 其他客户数据字段 ``` views.py: ```python from django.shortcuts import render from myapp.models import Customer def customer_stats(request): # 查询每个省份的客户数量 customer_stats = Customer.objects.values('province').annotate(count=models.Count('id')) return render(request, 'customer_stats.html', {'customer_stats': customer_stats}) ``` customer_stats.html: ```html {% extends 'base.html' %} {% block content %} <div id="main" style="width: 600px;height:400px;"></div> <script src="https://cdn.bootcdn.net/ajax/libs/echarts/4.9.0/echarts.min.js"></script> <script> var myChart = echarts.init(document.getElementById('main')); var option = { title: { text: '各省份客户数量' }, tooltip: {}, visualMap: { min: 0, max: {{ customer_stats|length }}, left: 'left', top: 'bottom', text: ['高','低'], // 文本,默认为数值文本 calculable: true }, series: [{ type: 'map', mapType: 'china', label: { show: true }, data: [ {% for stat in customer_stats %} {name: '{{ stat.province }}', value: {{ stat.count }}}, {% endfor %} ] }] }; myChart.setOption(option); </script> {% endblock %} ``` 这个示例展示了如何查询每个省份的客户数量,并将其转换为地图图表。你可以根据自己的需求进行修改和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值