1.6 flask应用: 代码统计系统
2019-1-6 15:57:18
今天的是做了一个代码统计的demo
使用了数据库的连接池
参考连接 https://www.cnblogs.com/wupeiqi/articles/8184686.html
我觉得 flask 的连接数据库目前有点麻烦,都是用pymysql 原生的sql 语句,并不像Django的orm来的快
也许还没学到后面
这个代码统计系统其实就是上传文件和解压文件,然后读取文件有多少行代码,其实也用到了数据库的增删改查
整体思路不难,主要用到了数据库连接池的一点,在flask 中以后连接数据库都得使用连接池
这有源代码点击下载
现在越来越发现,其实flask和Django 就好比 微信和qq 一个给你所有你会需要的东西,一个给你原生东西,让你自己找自己需要的东西
还有3 ,4 就学完flask 到时候总结一下flask 东西!天真冷!
还有10来天就全部结束啦!估计一两个星期就好,余下时间整理所有博客,温故一下!
越努力与幸运!
永远不要高估自己!
s9day118 内容回顾:
1.flask功能:
- 路由
- 视图
- 蓝图
...
2. 请求上下文管理(ctx):request,session
- 请求到来之后wsgi会触发__call__方法,由__call__方法再次调用wsgi_app方法
- 在wsgi_app方法中:
- 首先将 请求相关+空session 封装到一个RequestContext对象中,即:ctx。
- 将ctx交给LocalStack对象,再由LocalStack将ctx添加到Local中,Local结构:
__storage__ = {
1231:{stack:[ctx,] }
}
- 根据请求中的cookie中提取名称为sessionid对应的值,对cookie进行加密+反序列化,再次赋值给ctx中的session -> 视图函数 - 把session中的数据再次写入到cookie中。
- 将ctx删除
- 结果返回给用户浏览器
- 断开socket连接 3. 什么是偏函数?以及应用场景? 4. 面向对象中双下线的个数方法:
init
str
repr new,单例/rest framework序列化
call,flask源码请求入口,django请求入口(WSGIHandler.__call__)。
getattr
setattr
delattr,flask Local对象 setitem
getitem
delitem,
class Foo(object): def __getitem__(self, item):
return 1 def __setitem__(self, key, value):
pass def __delitem__(self, key):
pass obj = Foo()
obj['k1']
obj['k1'] = 123
del obj['k1'] dict,api封装返回数据时:BaseResponse
mro, 继承顺序
slots,Local对象 5. 栈
class Stack(object): def push(self,item):
pass def pop(self):
pass class Queue(object):
def push(self,item):
pass def pop(self):
pass 6. super/类.func(...) 7. 什么是函数?什么是方法? def func():
pass class Foo(object): def func(self):
pass # 执行方式一
# obj = Foo()
# obj.func() # 方法 # 执行方式二
# Foo.func(123) # 函数 from types import FunctionType,MethodType # obj = Foo()
# print(isinstance(obj.func,FunctionType)) # False
# print(isinstance(obj.func,MethodType)) # True print(isinstance(Foo.func,FunctionType)) # True
print(isinstance(Foo.func,MethodType)) # False 8. threading.local 今日内容:
- 代码统计
- pymysql
- 数据库连接池:
- DBUtils
- 初步认识:SQLAlchemy 内容详细:
- 代码统计 - 数据库连接池:
pip3 install DBUtils 注意:
- 使用数据库连接池
- 封装SQLHelper 作业:
1. 功能完善
2. BootStrap 模板
3. 详细页面: http://127.0.0.1:5000/detail/1 -> 折线图
4. 用户列表:
- 柱状图
- 表格
PS: select user_id,sum(line) from record group by user_id + 连表查询到用户姓名
1.6 flask应用: 代码统计系统的更多相关文章
- 利用JS跨域做一个简单的页面访问统计系统
其实在大部分互联网web产品中,我们通常会用百度统计或者谷歌统计分析系统,通过在程序中引入特定的JS脚本,然后便可以在这些统计系统中看到自己网站页面具体的访问情况.但是有些时候,由于一些特殊情况,我们 ...
- 网站流量统计系统 phpMyVisites
phpMyVisites是一个网站流量统计系统,它能够提供非常详细的统计报告和高级图形报表.phpMyVisites不是一个Apache log分析工具,它建有自己的log.它的特点包括: 安装部署: ...
- 利用JS跨域做一个简单的页面訪问统计系统
事实上在大部分互联网web产品中,我们一般会用百度统计或者谷歌统计分析系统,通过在程序中引入特定的JS脚本,然后便能够在这些统计系统中看到自己站点页面详细的訪问情况.可是有些时候,因为一些特殊情况,我 ...
- Python实现代码统计工具——终极加速篇
Python实现代码统计工具--终极加速篇 声明 本文对于先前系列文章中实现的C/Python代码统计工具(CPLineCounter),通过C扩展接口重写核心算法加以优化,并与网上常见的统计工具做对 ...
- 开源网站流量统计系统Piwik源码分析——参数统计(一)
Piwik现已改名为Matomo,这是一套国外著名的开源网站统计系统,类似于百度统计.Google Analytics等系统.最大的区别就是可以看到其中的源码,这正合我意.因为我一直对统计的系统很好奇 ...
- Python实现C代码统计工具(四)
目录 Python实现C代码统计工具(四) 标签: Python 计时 持久化 声明 运行测试环境 一. 自定义计时函数 1.1 整个程序计时 1.2 代码片段计时 1.3 单条语句计时 二. 性能优 ...
- Python代码统计工具
目录 Python代码统计工具 声明 一. 问题提出 二. 代码实现 三. 效果验证 Python代码统计工具 标签: Python 代码统计 声明 本文将对<Python实现C代码统计工具(一 ...
- Python实现C代码统计工具(三)
目录 Python实现C代码统计工具(三) 声明 一. 性能分析 1.1 分析单条语句 1.2 分析代码片段 1.3 分析整个模块 二. 制作exe Python实现C代码统计工具(三) 标签: Py ...
- 开源网站访问统计系统Piwik
http://www.piwik.cn/ http://www.piwik.org/ Piwik 是一套基于 Php+MySQL 技术构建,能够与 Google Analytics 相媲美的开源网站访 ...
随机推荐
- python之函数深入探测
第一:命名空间与作用域 命名空间: 局部命名空间: def foo(): x=1 def func(): pass 全局命名空间: import time class ClassName:pass d ...
- vue路由打开新窗口
一. <router-link>标签实现新窗口打开: 官方文档中说 v-link 指令被 <router-link> 组件指令替代,且 <router-link> ...
- import tensorflow 报错: tf.estimator package not installed.
import tensorflow 报错: tf.estimator package not installed. 解决方案1: 安装 pip install tensorflow-estimator ...
- IIS Express ArgumentOutOfRangeException
重装了VS,调试网站,IIS Express 打开时遇到如下错误. “/”应用程序中的服务器错误. 指定的参数已超出有效值的范围.参数名: site 说明: 执行当前 Web 请求期间,出现未经处理的 ...
- 如何在一小时内更新100篇文章?-Evernote Sync插件介绍
上一篇"手把手教你制作微信小程序,开源.免费.快速搞定",已经教会你如何快速制作一个小程序,但作为资讯类小程序,内容不可少,并且还需要及时更新. 但是,如果让你复制粘贴,可能还需要 ...
- [Docker] Running Multiple Containers for an Angular, Node project
The code is from Plusight course, github link is here. In this post, we will give a overview about h ...
- Docker搭建带有访问认证的私有仓库
2017年06月10日 17:30:26 阅读数:2581 以下步骤均为本人亲自踩坑,历经数次失败,最终搭建成功 一.环境信息: 操作系统:CentOS 7 Docker版本:1.12.5 (更高版本 ...
- 用分离、附加的方式实现sql server数据库的备份和还原
一.数据库分离.附加的说明 SQL Server提供了"分离/附加"数据库."备份/还原"数据库.复制数据库等多种数据库的备份和恢复方法.这里介绍一种学习中常用 ...
- IIS 重写 HTTP 重定向到 HTTPS
1.购买SSL证书 2.IIS7 / IIS 7.5 下绑定 HTTPS 网站(购买Wildcard SSL泛域名证书可绑定多个子域名)参考上文 3.下载安装URL重写模块:Microsoft URL ...
- jquery中选择器input:hidden和input[type=hidden]的区别
关于选择器:hidden的说明,在jquery说明文档中是这样说的:匹配所有不可见元素,或者type为hidden的元素.而[type=hidden]是查找所有type属性等于hidden的元素.两者 ...