flask(三)
1.cbv的用法
from flask import Flask,views
app = Flask(__name__) class Login(views.MethodView ):
def get(self):
return "hello" app.add_url_rule("/",view_func=Login.as_view("my_login"),methods=["GET"]) app.run("0.0.0.0",5000,debug=True)

methods的用法


也可以在这里用


将cbv 中的类里面的函数变成fbv中的函数,本质上还是fbv
2.网络相关
192.168.13.0-192.168.13.255 00000000,11111111,192.168.13.1不能用 能用253个
192.168.13.130/24 11111111.11111111.11111111.00000000-11111111 192.168.1.0-192.168.1.255
192.168.13.47/16 11111111.11111111.0000000.00000000 192.168.0.0-192.168.255.255
192.168.13.61/17 11111111.11111111.10000000.00000000 192.168.0.0-192.168.127.255
192.168.13.47/30 1111111.11111111.11111111.11111100 192.168.13.0-192.168.13.3
192.168.13.47/18 11111111.11111111.11000000.00000000 192.168.0.0-192.168.63.255
3.位运算
或运算
print(255|128)# 11111111
10000000
11111111
(只要有1就为1)
非运算
print(255|128)# 11111111
10000000
01111111
与运算
print(255|128)# 11111111
10000000
10000000
4.ip地址分类
A类:255.0.0.0,包括的可用地址最多 B类:255.255.0.0 C类:255.255.255.0
5.flask上下文werkzeug
from werkzeug.serving import run_simple
from werkzeug.wrappers import Response,Request @Request.application
def app(req):
print(req.method) #get
print(req.path) #/
return Response("ok") run_simple('0.0.0.0',5000,app)
6.偏函数
from functools import partial
def add(a,b):
return a+b par_add=partial(add,1)
print(par_add(2))#
应用:函数在执行时,要带上所有必要的参数进行调用。但是,有时参数可以在函数被调用之前提前获知。这种情况下,一个函数有一个或多个参数预先就能用上,以便函数能用更少的参数进行调用。
7.线程安全
import time
import threading
from threading import local class Foo(local):
pass foo = Foo()
"""
{
7172:[request,session],
8076:[request,session],
5784:[request,session],
}
""" def add(i):
foo.num=i
time.sleep(1)
print(foo.num,i,threading.current_thread().ident) for i in range(20):
th = threading.Thread(target=add,args=(i,))
th.start()
8.wsgiref实例
对于python web程序来说,一般会分为两部分:服务器程序和应用程序。服务器程序负责对socket服务器进行封装,并在请求到来时,对请求的各种数据进行整理。应用程序则负责具体的逻辑处理。为了方便应用程序的开发,就出现了众多的Web框架,例如:Django、Flask、web.py 等。不同的框架有不同的开发方式,但是无论如何,开发出的应用程序都要和服务器程序配合,才能为用户提供服务。这样,服务器程序就需要为不同的框架提供不同的支持。这样混乱的局面无论对于服务器还是框架,都是不好的。对服务器来说,需要支持各种不同框架,对框架来说,只有支持它的服务器才能被开发出的应用使用。这时候,标准化就变得尤为重要。我们可以设立一个标准,只要服务器程序支持这个标准,框架也支持这个标准,那么他们就可以配合使用。一旦标准确定,双方各自实现。这样,服务器可以支持更多支持标准的框架,框架也可以使用更多支持标准的服务器。
WSGI(Web Server Gateway Interface)是一种规范,它定义了使用python编写的web app与web server之间接口格式,实现web app与web server间的解耦。
python标准库提供的独立WSGI服务器称为wsgiref。
from wsgiref.simple_server import make_server def runserver(environ,start_response):
start_response("200 ok",[("Content-Type","text/html")])
return [bytes("<h1>hello aa</h1>",encoding="utf-8")] if __name__ == "__main__":
httpd=make_server("",8000,runserver)
print("运行了")
httpd.serve_forever()


flask(三)的更多相关文章
- flask(三)之Flask-SQLAlchemy
01-介绍 Flask-SQLAlchemy是一个Flask扩展,简化了在Flask应用中使用SQLAlchemy的操作.SQLAlchemy提供了高层ORM,也提供了使用数据库原生SQL的低层功能. ...
- Flask三种导入配置文件的方式
# 配置对象,里面定义需要给 APP 添加的一系列配置 class Config(object): DEBUG = True # 从配置对象中加载配置 app.config.from_object(C ...
- Flask (三) 数据迁移
数据迁移 安装 pip install flask-migrate 初始化 使用app和db进行migrate对象初始化 from flask_migrate import Migrate mig ...
- python框架(flask/django/tornado)比较
一.对外数据接口 三者作为web框架,都是通过url映射对外的接口 flask:以decorator的形式,映射到函数中 django:以字典形式,映射到函数 tornado: 以字典形式,映射到类中 ...
- Flask 框架 简介
一.Flask介绍 Flask是一个基于Werkzeug,Jinja 2 轻量级的web开发框架, 使用Python开发, 上手简单. 二.安装Flask 三.第一个Flask程序 1.编写app.p ...
- 使用flask搭建服务端
---恢复内容开始--- 本文默认采用python3 一.虚拟环境 创建环境 mkdir myproject cd myproject python3 -m venv venv //Windows平台 ...
- 教你分分钟搞定Python之Flask框架
用最短的时间开发一个数据操作接口,Python是王道! 一.安装pip .首先检查linux有没有安装python-pip包,终端执行 pip -V [root@ network-scripts]# ...
- centos 6.x 部署uwsgi+flask项目
一.项目背景 1. 公司需求要做一个在线统计页面; 2. 统计在线人数,进行人数数据展示; 3. 类似QQ官网在线人数 二.测试环境 [root@linux-node2 ~]# cat /etc/*r ...
- Python之flask总结
一.flask a.Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收htt ...
随机推荐
- Opencv目标跟踪—CamShift算法
CamShift算法全称是"Continuously Adaptive Mean-Shift"(连续的自适应MeanShift算法),是对MeanShift算法的改进算法,可以在跟 ...
- 一个简易版的Function.prototype.bind实现
重新看<JavaScript设计模式与开发实践>一书,第32页发现个简易版的Function.prototype.bind实现,非常容易理解,记录在这了. Function.prototy ...
- dp_Pku1887
<span style="color:#000099;">/* A - 单纯dp 示例 Time Limit:1000MS Memory Limit:30000KB 6 ...
- chrome浏览器***
chrome浏览器***: "红杏"是一款 Chrome 浏览器插件.(PS:不用 Chrome 的同学赶紧去下载安装.那个***大家都懂得.)相较于其它***方式,"红 ...
- Python Numpy基础教程
Python Numpy基础教程 本文是一个关于Python numpy的基础学习教程,其中,Python版本为Python 3.x 什么是Numpy Numpy = Numerical + Pyth ...
- word 软换行与硬换行
word 下的软回车,就是按住 Shift+Enter 之后产生的一种效果,通常在文字后面会有一个向下的箭头: 硬回车就是只敲击回车(enter)产生的一种效果了,通常就会在文字后面产生一个向左弯区的 ...
- [视频]mac系统下虚拟机parallels安装ubuntu 14.04视频教程
此文是http://www.mr-wu.cn/install-ubuntu-14-04-on-parallels-for-mac/这篇博文的补充,为整个ubuntu 14.04安装过程的视频录像. m ...
- .net core config读取
最简单的方式 引用 Microsoft.Extensions.Configuration Microsoft.Extensions.Configuration.Json json文件 新建一个Conf ...
- 所有语言的Awesome(2)
Curated list of awesome lists https://awesomeweekly.co https://github.com/sindresorhus/awesome ✨ Pre ...
- 【WPF】DPI对控件定位产生的影响
原文:[WPF]DPI对控件定位产生的影响 需求 程序界面上是一个Window,当用户点击桌面上除此Window之外的任何地方,都要把这个window隐藏掉.程序有个托盘图标,点击托盘图标不能隐藏wi ...