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(三)的更多相关文章

  1. flask(三)之Flask-SQLAlchemy

    01-介绍 Flask-SQLAlchemy是一个Flask扩展,简化了在Flask应用中使用SQLAlchemy的操作.SQLAlchemy提供了高层ORM,也提供了使用数据库原生SQL的低层功能. ...

  2. Flask三种导入配置文件的方式

    # 配置对象,里面定义需要给 APP 添加的一系列配置 class Config(object): DEBUG = True # 从配置对象中加载配置 app.config.from_object(C ...

  3. Flask (三) 数据迁移

    数据迁移 安装 pip install flask-migrate 初始化 使用app和db进行migrate对象初始化   from flask_migrate import Migrate mig ...

  4. python框架(flask/django/tornado)比较

    一.对外数据接口 三者作为web框架,都是通过url映射对外的接口 flask:以decorator的形式,映射到函数中 django:以字典形式,映射到函数 tornado: 以字典形式,映射到类中 ...

  5. Flask 框架 简介

    一.Flask介绍 Flask是一个基于Werkzeug,Jinja 2 轻量级的web开发框架, 使用Python开发, 上手简单. 二.安装Flask 三.第一个Flask程序 1.编写app.p ...

  6. 使用flask搭建服务端

    ---恢复内容开始--- 本文默认采用python3 一.虚拟环境 创建环境 mkdir myproject cd myproject python3 -m venv venv //Windows平台 ...

  7. 教你分分钟搞定Python之Flask框架

    用最短的时间开发一个数据操作接口,Python是王道! 一.安装pip .首先检查linux有没有安装python-pip包,终端执行 pip -V [root@ network-scripts]# ...

  8. centos 6.x 部署uwsgi+flask项目

    一.项目背景 1. 公司需求要做一个在线统计页面; 2. 统计在线人数,进行人数数据展示; 3. 类似QQ官网在线人数 二.测试环境 [root@linux-node2 ~]# cat /etc/*r ...

  9. Python之flask总结

    一.flask      a.Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收htt ...

随机推荐

  1. matlab 神经网络工具箱的实用

    0. 其他处理 计时: tic net = train(net, X, y); toc 1. 一个简单的 demo(单层感知器) P = [1, 1, 1, 1, 0, 0, 0, 0; 0, 0, ...

  2. oc面试攻略

    原文出自:http://mobile.51cto.com/iphone-402619.htm 1.Object-C有多继承吗?没有的话用什么代替?cocoa 中所有的类都是NSObject 的子类 多 ...

  3. HDU 1671 (字典树统计是否有前缀)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1671 Problem Description Given a list of phone number ...

  4. mysql中常见的存储引擎和索引类型

    存储引擎 1.      定义 存储引擎说白了就是如何存储数据.如何为存储的数据建立索引和如何更新.查询数据等技术的实现方法.因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类 ...

  5. WPF 圆角textbox

    原文:WPF 圆角textbox 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/a771948524/article/details/9245965 ...

  6. WPF:拖动父窗口行为

    原文 WPF:拖动父窗口行为 这次只是一个快速的帖子:当我点击并拖动特定的UIElement时,我需要能够重新定位WPF窗口.目的是重新创建在标准Windows标题栏上单击和拖动的行为(在我的情况下, ...

  7. c语言指针详细解释

    指针是C语言中广泛使用的一种数据类型. 运用指针编程是C语言最基本的风格之中的一个.利用指针变量能够表示各种数据结构: 能非常方便地使用数组和字符串: 并能象汇编语言一样处理内存地址,从而编出精练而高 ...

  8. WPF与缓动(三) 指数缓动

    原文:WPF与缓动(三) 指数缓动 WPF与缓动(三) 指数缓动                                                                     ...

  9. WPF版的HideCaret()

    原文:WPF版的HideCaret() WPF版的HideCaret() 周银辉 事情是这样的: 一般说来,对于那些拥有句柄的TextBox(RichTextBox同理)控件,比如win32的,Win ...

  10. springboot 集成swagger ui

    springboot 配置swagger ui 1. 添加依赖 <!-- swagger ui --> <dependency> <groupId>io.sprin ...