python flask框架实例_Flask框架的一个小案例
这个案例简单的实现了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框架的一个小案例相关推荐
- python flask跨域_Flask框架踩坑之ajax跨域请求实现
Python flask ajax 请夜影驱动编程小编今天和大家分享后端并且能获得数据,但是...@app.route('/search',methods=[ 'POST']) def search( ...
- python flask热更新_Flask 框架小记
Flask 框架小记 Flask 实例 创建示例的代码 from flask import Flask # __name__ 是模块名, 用于反射导入模块 app = Flask(__name__, ...
- python tkinter计算器实例_python -Tkinter 实现一个小计算器功能
原博文 2017-03-25 22:08 − 文章来源:http://www.cnblogs.com/Skyyj/p/6618739.html 本代码是基于python 2.7的 如果是对于pytho ...
- 鸿蒙harmonyOS方舟框架ARK etsUI切圆的一个小问题
鸿蒙harmonyOS方舟框架ARK etsUI切圆的一个小问题 文章目录 鸿蒙harmonyOS方舟框架ARK etsUI切圆的一个小问题 前言 使用步骤 1.切圆 2.有点偏离原因时切的宽高跟图片 ...
- python Flask logging日志报错“另一个程序正在使用此文件,进程无法访问”
文章目录 1. 问题 2. 代码示例 3. 原因 4. 解决 1. 问题 python Flask logging日志报错"另一个程序正在使用此文件,进程无法访问" 2. 代码示例 ...
- 爬虫的一个小案例:python实现英汉互译
什么是网络爬虫? 网络爬虫又称网络蜘蛛,是指按照某种规则在网络上爬取所需内容的脚本程序.众所周知,每个网页通常包含其他网页的入口,网络爬虫则通过一个网址依次进入其他网址获取所需内容. 一个小案例:py ...
- Python:通过一个小案例深入理解IO多路复用
通过一个小案例深入理解IO多路复用 假如我们现在有这样一个普通的需求,写一个简单的爬虫来爬取校花网的主页 import requests import timestart = time.time()u ...
- 一个小案例理解case穿透、switch语句
一.用case穿透简化代码以一个小案例为例:键盘录入星期数,输出工作日.休息日(1-5)工作日,(6-7)休息日 package test;import java.util.Scanner;publi ...
- 用一个小案例来解释linux中文件或目录的权限
Linux中文档和目录的权限 众所周知 , Linux中文档的权限包括所有者权限(User).同组权限(Group)和其他权限(Other).使用rwx来作为表示,分别为read.write和exec ...
最新文章
- ubuntu系统安装mysql(deb-bundle包)
- 一堂如何提高代码质量的培训课【转】
- [bzoj4922]Karp-de-Chant Number
- C# 扩展object类 将string强制转换成int
- B树与B+树【转载】
- AppScan漏洞“已解密的登陆请求”修复解决方案
- Swift基础--通知,代理和block的使用抉择以及Swift中的代理
- 体验极好的临时邮箱,10分钟邮箱,极美观,速度特别快
- window7电脑显示屏调亮度的四种方式
- 目前可行的4种知网文献免费下载方法分享
- Oracle 如何定义自动增量autocreament的主键ID?
- 前端监控--通过钉钉自定义机器人发送告警消息
- 客户成功的起源——SaaS(软件即服务)
- input输入密码的时候调用纯数字键盘和加密,js弹出键盘
- Java 往文件中写数据,新写入的数据总是覆盖原有数据
- 数据科学中的计量经济学技术
- 百度ocrapi接口的示范
- Linux不是Windows(转载,强烈推荐)
- 地理空间数据格式——OGC-GML
- 苹果手机语音备忘录在哪_苹果手机备忘录误删除别慌,教你免费恢复