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. 使用Restlet Client发送各种Get和Post请求

    在开发web应用时,在对Spring中的Controller进行测试时,需要发送各种get以及post请求进行测试,当然可以自己在浏览器里输入url或者对于测试而言使用Spring提供的MockMvc ...

  2. node fs 文件/目录 删除

    删除文件如下: 过程:先判断文件路径是否存在.读取该文件下所有文件.循环该文件,判断是否是文件夹还是文件. 移除文件夹使用fs.rmdirSync("路径") 移除文件使用fs.u ...

  3. android点击屏幕隐藏小键盘

    原文:android点击屏幕隐藏小键盘 fragment 下隐藏点击空白处隐藏小键盘   view.setOnTouchListener(new OnTouchListener() { @Overri ...

  4. sqlplus登录信息,列出所有表,列在表结构,sqlplus行和列显示设置,别名,Null值问题,细木工,DISTINCT

     1 sqlplus登录方式: 普通用户登录: 登录eg:C:\>sqlplusscott/11  (格式:sqlplus username/password) 退出eg:quit退出 超级 ...

  5. jieba(结巴)—— Python 中文分词

    学术界著名的分词器: 中科院的 ICTCLAS,代码并不十分好读 哈工大的 ltp, 东北大学的 NIU Parser, 另外,中文 NLP 和英文 NLP 不太一致的地方还在于,中文首先需要分词,针 ...

  6. uwp - 禁用屏幕翻转/禁用屏幕旋转/禁用横屏模式

    原文:uwp - 禁用屏幕翻转/禁用屏幕旋转/禁用横屏模式 解决方案目录 > Package.appxmanifest 双击打开,把支持的旋转:纵向勾上,只勾这一个其他不勾,就可以了.同理,想让 ...

  7. 用 Expression Blend 创建酷炫的 Button

    原文:用 Expression Blend 创建酷炫的 Button 原文:Creating "Cool" Buttons with Expression Blend Author ...

  8. cacti由snmp监控带宽

    1.安装和配置snmp a. yum install -y net-snmp net-snmp-utils b. chkconfig snmpd on c. chkconfig –list|grep ...

  9. 零元学Expression Design 4 - Chapter 6 教你如何在5分钟内做出文字立体感效果

    原文:零元学Expression Design 4 - Chapter 6 教你如何在5分钟内做出文字立体感效果 又来一篇五分钟做设计啦~ 本篇将教大家如何运用Design内建工具Blend Path ...

  10. WPF之VLC流媒体播放

    原文:WPF之VLC流媒体播放 最近在做关于在WPF使用VLC流媒体播放的问题,现在可以在WPF中实现VLC本地播放了,流播放解决了,在下面的代码中注释流媒体播放那两段代码,更多的在乎大家摸索了^^, ...