flask框架(一):初入

1、装饰器回顾

# -*- coding: utf-8 -*-
# @Author : Felix Wang
# @time   : 2018/7/3 17:10
"""
def wrapper(func):
    def inner(*args, **kwargs):
        return func(*args, **kwargs)

    return inner


@wrapper  # 执行index=wrapper(index)
def index(request):
    pass
"""

'''
def wrapper(option):
    def inner(func, *args, **kwargs):
        return func(*args, **kwargs)

    return inner


# 加参数表示执行两步
@wrapper({'k': 'w'})
# 先执行 inner=wrapper({'k':'w'})
# @inner--》index=inner(index)
def index(request):
    pass
'''

url_map = {
    '/index': 'index'
}


def route(option):
    def inner(func, *args, **kwargs):
        url_map[option['path']] = func

    return inner


# 加参数表示执行两步
@route({'path': '/index'})
# 先执行 inner=wrapper({'k':'w'})
# @inner--》index=inner(index)
def index(request):
    pass

 2、session & cookie原理

3、继承字典(在字典之上开发功能)

# -*- coding: utf-8 -*-
# @Author : Felix Wang
# @time   : 2018/7/3 17:34

class MyDict(dict):
    def __init__(self, *args, **kwargs):
        super(MyDict, self).__init__(*args, **kwargs)
        self['modify'] = True


obj = MyDict()
print(obj)  # {'modify': True} 

 内容详解:

1、flask、django、tornado框架

Django:重武器,内部包含了非常多的组件:ORM、Form、ModelForm、缓存、Session、中间件、信号等。。。。。。

Flask:短小精悍,内容没有太多组件。第三方组件非常丰富。flask第三方组件:第三方插件网站

 flask的路由比较特殊,基于装饰器来实现,但是究其本质还是通过add_url_rule()来实现的。

Tornado:异步非阻塞

2、Flask快速入门

a、安装

pip3 install flask

b、wsgi,Werkzeug 

3、7行代码搭个flask

# -*- coding: utf-8 -*-
# @Author : Felix Wang
# @time   : 2018/7/3 22:40

from flask import Flask

app = Flask(__name__)  # 实例化一个Flask对象


# 将‘/’和函数index的对应关系添加到路由中
@app.route('/')  # 执行两步   a=app.route()  a(hello_world)
def index():
    return 'hello world'


if __name__ == '__main__':
    # 监听用户请求
    # 如果有用户请求到来,则执行app的__call__到来
    # 一个对象加(),执行__call__方法
    app.run()

猜你喜欢

转载自www.cnblogs.com/felixwang2/p/9259644.html
今日推荐