Flask

一 虚拟环境
安装虚拟环境  pip3 install virtualenv
为了完美运用任何模块版本,由于版本只能运行一个,很不方便,所以要创建虚拟环境进行操作另外版本。
virtualenv xxx 创建虚拟环境路径
二 flask框架
pip3 install flask
简介:轻量级框架,体现在非常快捷的把程序启动(前提是程序简单的)
适用于程序时用flask,无好坏之分
# 简单的flask框架
 
from flask import Flask
 
app = Flask(__name__) # Flask是一个类, app是对这个类进行实例化
# 生成路由关系,并把关系保存到某个地方
@app.route('/index) #路径
def index():
  return "Index" # 启动程序,监听用户请求,一旦请求过来,执行app.__call__方法 #封装用户请求然后进行路由匹配 if __name__ = '__main__':   app.run()
与Django比较:
    Django:无socket(依赖第三方的模块)、中间件、路由系统、视图函数(CBV、FBV)、模板、ORM、cookie、session、Admin、form、缓存、信号...
    flask:无socket、中间件(扩展)、路由系统、视图函数(CBV、FBV)、第三方模板(jinja2)、cookie、session(弱爆了)
 三 什么是wsgi?
  web服务网管接口,也就是个协议;
  flask内有一个实现了web服务网管接口的一个模块,flask依赖这个模块 ----werkzeug模块
werkzeug是一个独立的模块:
# werkzeug单独运行程序
#导入模块
from werkzeug.wrappers import Request,Response
from werkzeug.serving import run_simple
  
#加上装饰器
@Request.application
def hello(request):
    return Response('Hello world!')

# run一下(IP,端口,函数)请求过来就执行函数
if __name__ == '__main__':
    
    run_simple('localhost',4000,hello)

五 装饰器

无参数的装饰器

def wapper(f):
    def inner(*args,**kwargs):
        return f(*args,**kwargs)
    return inner

@wapper
def func(arg):
    print(arg)

func(123)

有参装饰器

def outer(num):
    def wapper(f):
        def inner(*args,**kwargs):
            return f(*args,**kwargs)
        return wapper
# 加一个参数,首先执行wapper函数,获取返回值。
#再与@链接相当于@wapper,自动执行wapper函数,在执行wapper函数wapper(func):
@outer(666)
def func(arg):
    print(arg)

func(123)

 

  
posted @ 2018-01-13 18:23  丶陌潇  阅读(86)  评论(0)    收藏  举报