M1-Flask-Day4
今日内容概要:
1.git使用
2.redis基本操作
3.celery应用
4.在flask中使用celery
5.saltstack的基本使用
基础回顾:
1.关于FLASK
-基本使用
路由
视图
- cbv,fbv
模板
session
闪现
蓝图(目录结构划分)
特殊的装饰器@app.before_request
信号 a.flask和django 的区别?
1.flask轻量级,短小精悍,可扩展性强
2.django内置非常多的组件,大而全,ORM,FORM,Model_Form,中间件,Admin b.flask的生命周期?
请求进来之后
1.将请求相关数据封装到RequestContext对象中
2.将应用相关的数据封装到AppContext对象中
3.将两个对象放到一个小房子里
4.将小房子封装到Local对象里
执行before_request函数
执行视图函数
执行after_request函数
执行save_session函数
将Local里的两个对象删除 c.什么是MVC,MTV?
MTV : model template view
MVC : model view controller d.flask的精华上下文管理
- 首先要了解threading.local,对线程之间进行隔离
- flask的自定义的本地线程 支持的粒度更小,支持协程
- 请求进来时候,设置值: LocalStark -> Local(ctx和app_ctx对象)
- 视图函数,调用值, LocalProxy --> 偏函数 --> Local(ctx和app_ctx对象) f.SqlAlchemy和sql的区别? 1.ORM是关系对象映射,类对应数据库表,对象对应数据库行,之后再执行类和对象时ORM帮助我们转换成SQL语句并执行
2.pymysql直接执行sql语句 ORM:执行效率差,开发效率高
pymysql:执行效率高,开发效率低 Flask-SqlAlchemy组件:
将SqlAlchemy和Flask组合到一起 原生sql最好使用数据库连接池
DBUtils
Sqlalchemy的不用orm websocket
目标:让浏览器上的数据实时更新
http协议:
- 轮询
- 长轮询
websocket协议
- WebSocket
websocket协议:
- 默认连接不断开 全双工模式
- 握手 通过魔法字符串加密
- 数据解密 playload 后7位,125,126,127 mask_key 剩下进行位运算
框架中使用:
-flask :gevent-websockt
-tornado: 内置
- django: channel
M1-Flask-Day4的更多相关文章
- python3 Flask -day4 自定义url转换器
url传参可以限定参数的数据类型,例如:限定user_id数据类型为int @app.route('/user/<int:user_id>') def my_list(user_id): ...
- Python之路,Day4 - Python基础4 (new版)
Python之路,Day4 - Python基础4 (new版) 本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 ...
- Day4 - Python基础4 迭代器、装饰器、软件开发规范
Python之路,Day4 - Python基础4 (new版) 本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 ...
- Flask form前后端交互消息闪现
模拟场景如果当用户注册时输入错误而由于form表单是同步提的交跳转到另一个网页时提示注册失败这时用户还需返回注册页面重新填写大大降低了客户体验,消息闪现能伪装成异步(实际还是同步)就是自己提交给自己然 ...
- 8.7 正睿暑期集训营 Day4
目录 2018.8.7 正睿暑期集训营 Day4 A 世界杯(贪心) B 数组(线段树) C 淘汰赛 考试代码 A B C 2018.8.7 正睿暑期集训营 Day4 时间:5h(实际) 期望得分:. ...
- Flask 学习(三)模板
Flask 学习(三)模板 Flask 为你配置 Jinja2 模板引擎.使用 render_template() 方法可以渲染模板,只需提供模板名称和需要作为参数传递给模板的变量就可简单执行. 至于 ...
- Flask & Vue 构建前后端分离的应用
Flask & Vue 构建前后端分离的应用 最近在使用 Flask 制作基于 HTML5 的桌面应用,前面写过<用 Python 构建 web 应用>,借助于完善的 Flask ...
- Flask01 第一个flask项目
参考地址:https://github.com/miguelgrinberg/microblog/tree/v0.1 flask环境[苹果M1] 添加虚拟环境 python3 -m venv venv ...
- 无意苦争春,一任群芳妒!M1 Mac book(Apple Silicon)能否支撑全栈工程师的日常?(Python3/虚拟机/Docker/Redis)
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_187 就像大航海时代里突然诞生的航空母舰一样,苹果把玩着手心里远超时代的M1芯片,微笑着对Intel说:"不好意思,虽然 ...
- flask+sqlite3+echarts2+ajax数据可视化
前提: 准备Python + Flask+Sqlite3的平台环境(windows系统) 前面一节介绍flask怎么安装了,剩下sqlite3下载后解压,然后环境变量添加解压路径就行了 附加下载地址: ...
随机推荐
- 学习 Spring (十二) AOP 基本概念及特点
Spring入门篇 学习笔记 AOP: Aspect Oriented Programming, 通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术 主要功能是:日志记录.性能统计.安全控 ...
- 11.ingress服务
kubernetes 的service服务我们提到过.service 可以用nodePort的方式和调用公有云LBAAS服务 来对于集群外的client提供服务访问,但是service是工作的osi ...
- Js 中一系列宽度和高度的学习
在学习元素一系列宽度和高度之前,我们先来看一个平时开发中几乎不会遇到的问题,那就是html文档声明<!DOCTYPE html> 确实会对元素的宽高产生影响.几乎不会遇到,是因为我们在写h ...
- codeforces749B
Parallelogram is Back CodeForces - 749B 已知平行四边形的三个顶点,求第四个顶点可能的位置.Input输入有三行,每行包括两个整数x和y ( - 1000 ≤ x ...
- 了解AutoCAD对象层次结构 —— 6 ——块表记录
块表记录是包裹实体对象的最后一层包装了,接下来让我们继续利用MgdDbg工具查看上一小节创建的块定义内的对象有哪些. 操作步骤如下:选择块表记录TestBlock,在右侧列表中找到“Entities ...
- Java虚拟机加载类的过程
Java虚拟机的类加载,从class文件到内存中的类,按先后顺序需要经过加载/链接/初始化三大步骤. Java语言的类型分为两大类:基本类型(primitive types)和引用类型(referen ...
- 【BZOJ1007】【HNOI2008】水平可见直线 几何 单调栈
题目大意 给你\(n\)条直线\(y=kx+b\),问你从\(y\)值为正无穷大处往下看能看到那些直线. \(1\leq n\leq 500000\) 题解 如果对于两条直线\(l_i,l_j\),\ ...
- hdu 5510 Bazinga (KMP+暴力标记)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5510 思路: 一开始直接用KMP莽了发,超时了,后面发现如果前面的字符串被后面的字符串包含,那么我们就 ...
- nagios 监控内存使用情况
监控本机内存cd /usr/lib64/nagios/pluginstouch check_mem.sh #!/bin/bash " ]; then memTotal_b=`free -b ...
- WCF 改成 restful api
1. 右健 svc , view markup, 添加 Factory="System.ServiceModel.Activation.WebServiceHostFactory" ...