这个案例简单的实现了Flask框架的原理,运用python中的Flask框架从数据库中提取数据,前端页面运用echarts渲染

后端代码:

from flask import Flask,render_template

from flask_sqlalchemy import SQLAlchemy

#创建Flask应用对象

#__name__表示当前模块的名字

app=Flask(__name__) #访问静态资源的url前缀 静态文件的目录 默认为static模板文件的目录

class Config(object):

#sqlalchemy的配置参数

SQLALCHEMY_DATABASE_URI="mysql://root:123456@127.0.0.1:3306/sales"

SQLALCHEMY_TRACK_MODIFICATIONS=True

app.config.from_object(Config)

db=SQLAlchemy(app)

class Sales(db.Model):

__tablename__="tbl_sales"

days=db.Column(db.String(64),primary_key=True,nullable=True)

e_mail=db.Column(db.Integer,nullable=True)

league=db.Column(db.Integer,nullable=True)

video=db.Column(db.Integer,nullable=True)

visit=db.Column(db.Integer,nullable=True)

search=db.Column(db.Integer,nullable=True)

@app.route("/")

def index():

#查询数据库

sales_list=Sales.query.all()

return render_template("sales.html",sales=sales_list)

if __name__ == '__main__':

db.drop_all()

db.create_all()

s1=Sales(days="周一",e_mail=120,league=220,video=150,visit=320,search=820)

s2=Sales(days="周二",e_mail=132,league=182,video=232,visit=332,search=932)

s3=Sales(days="周三",e_mail=101,league=191,video=201,visit=301,search=901)

s4=Sales(days="周四",e_mail=134,league=234,video=154,visit=334,search=934)

s5=Sales(days="周五",e_mail=90,league=290,video=190,visit=390,search=1290)

s6=Sales(days="周六",e_mail=230,league=330,video=330,visit=330,search=1330)

s7=Sales(days="周日",e_mail=210,league=310,video=410,visit=320,search=1320)

db.session.add_all([s1,s2,s3,s4,s5,s6,s7])

db.session.commit()

app.run(debug=True)

前端代码:

var dom=document.getElementById("container");

var myChart=echarts.init(dom)

var app={};

//存储日期

var data1=[{% for item in sales %}'{{item.days}}',{% endfor %}];

//邮件直销的数量

var data2=[{% for item in sales %}{{item.e_mail}},{% endfor %}];

//联盟广告数量

var data3=[{% for item in sales %}{{item.league}},{% endfor %}];

//视频广告数量

var data4=[{% for item in sales %}{{item.video}},{% endfor %}];

//直接访问数量

var data5=[{% for item in sales %}{{item.visit}},{% endfor %}];

//搜索引擎数量

var data6=[{% for item in sales %}{{item.search}},{% endfor %}];

option=null;

option={

title:{

text:'折线图堆叠'

},

tooltip:{

trigger:'axis'

},

legend:{

data:['邮件营销','联盟广告','视频广告','直接访问','搜索引擎']

},

grid:{

left:'3%',

right:'4%',

bottom:'3%',

containLabel:true

},

toolbox:{

feature:{

saveAsImage:{}

}

},

xAxis:{

type:'category',

boundaryGap:false,

data:data1

},

yAxis:{

type:'value'

},

series:[{

name:'邮件营销',

type:'line',

stack:'总量',

data:data2

},{

name:'联盟广告',

type:'line',

stack:'总量',

data:data3

},{

name:'视频广告',

type:'line',

stack:'总量',

data:data4

},{

name:'直接访问',

type:'line',

stack:'总量',

data:data5

},{

name:'搜索引擎',

type:'line',

stack:'总量',

data:data6

}]

};;

if(option && typeof option ==="object"){

myChart.setOption(option)

}

效果如下:

python flask框架实例_Flask框架的一个小案例相关推荐

  1. python flask跨域_Flask框架踩坑之ajax跨域请求实现

    Python flask ajax 请夜影驱动编程小编今天和大家分享后端并且能获得数据,但是...@app.route('/search',methods=[ 'POST']) def search( ...

  2. python flask热更新_Flask 框架小记

    Flask 框架小记 Flask 实例 创建示例的代码 from flask import Flask # __name__ 是模块名, 用于反射导入模块 app = Flask(__name__, ...

  3. python tkinter计算器实例_python -Tkinter 实现一个小计算器功能

    原博文 2017-03-25 22:08 − 文章来源:http://www.cnblogs.com/Skyyj/p/6618739.html 本代码是基于python 2.7的 如果是对于pytho ...

  4. 鸿蒙harmonyOS方舟框架ARK etsUI切圆的一个小问题

    鸿蒙harmonyOS方舟框架ARK etsUI切圆的一个小问题 文章目录 鸿蒙harmonyOS方舟框架ARK etsUI切圆的一个小问题 前言 使用步骤 1.切圆 2.有点偏离原因时切的宽高跟图片 ...

  5. python Flask logging日志报错“另一个程序正在使用此文件,进程无法访问”

    文章目录 1. 问题 2. 代码示例 3. 原因 4. 解决 1. 问题 python Flask logging日志报错"另一个程序正在使用此文件,进程无法访问" 2. 代码示例 ...

  6. 爬虫的一个小案例:python实现英汉互译

    什么是网络爬虫? 网络爬虫又称网络蜘蛛,是指按照某种规则在网络上爬取所需内容的脚本程序.众所周知,每个网页通常包含其他网页的入口,网络爬虫则通过一个网址依次进入其他网址获取所需内容. 一个小案例:py ...

  7. Python:通过一个小案例深入理解IO多路复用

    通过一个小案例深入理解IO多路复用 假如我们现在有这样一个普通的需求,写一个简单的爬虫来爬取校花网的主页 import requests import timestart = time.time()u ...

  8. 一个小案例理解case穿透、switch语句

    一.用case穿透简化代码以一个小案例为例:键盘录入星期数,输出工作日.休息日(1-5)工作日,(6-7)休息日 package test;import java.util.Scanner;publi ...

  9. 用一个小案例来解释linux中文件或目录的权限

    Linux中文档和目录的权限 众所周知 , Linux中文档的权限包括所有者权限(User).同组权限(Group)和其他权限(Other).使用rwx来作为表示,分别为read.write和exec ...

最新文章

  1. ubuntu系统安装mysql(deb-bundle包)
  2. 一堂如何提高代码质量的培训课【转】
  3. [bzoj4922]Karp-de-Chant Number
  4. C# 扩展object类 将string强制转换成int
  5. B树与B+树【转载】
  6. AppScan漏洞“已解密的登陆请求”修复解决方案
  7. Swift基础--通知,代理和block的使用抉择以及Swift中的代理
  8. 体验极好的临时邮箱,10分钟邮箱,极美观,速度特别快
  9. window7电脑显示屏调亮度的四种方式
  10. 目前可行的4种知网文献免费下载方法分享
  11. Oracle 如何定义自动增量autocreament的主键ID?
  12. 前端监控--通过钉钉自定义机器人发送告警消息
  13. 客户成功的起源——SaaS(软件即服务)
  14. input输入密码的时候调用纯数字键盘和加密,js弹出键盘
  15. Java 往文件中写数据,新写入的数据总是覆盖原有数据
  16. 数据科学中的计量经济学技术
  17. 百度ocrapi接口的示范
  18. Linux不是Windows(转载,强烈推荐)
  19. 地理空间数据格式——OGC-GML
  20. 苹果手机语音备忘录在哪_苹果手机备忘录误删除别慌,教你免费恢复

热门文章

  1. GAN生成式对抗网络
  2. 怎么引流推广每天获得精准客户?
  3. UML学习笔记——顺序图(时序图)
  4. 14类应用场景!《5G未来社区白皮书》发布 | 附下载
  5. 什么是单用户操作系统和多用户操作系统
  6. android dropbear 密码,[Android]dropbear on android
  7. 算法--汽车加油问题
  8. 基于注解方式实现在Tomcat8中实现WebSocket服务器接口的编写
  9. 线性代数(2):特殊行列式
  10. 路由重复注册Duplicate named routes