一、安装
pip install flask
二、初始化
from flask importFlask
app= Flash(__name__)
三、路由:处理URL和函数之间的关系的程序称为路由
(1)路由装饰器
@app.route('/')defindex():return ('
Hello World
')(2)动态路由
@app.route('/user/')defuser(name):return ('
Hello World,%s
')%name四、启动服务器
if __name__== '__main__':
app.run(debug=True)
五、程序上下文和请求上下文
**程序上下文的作用
**请求上下文的作用
变量名
上下文
说明
current_app
程序上下文
当前激活程序的程序实例
g
程序上下文
处理请求用作临时存储的对象,每次请求都会重设这个变量
request
请求上下文
请求对象,封装了客户端发出的HTTP请求的内容
session
请求上下文
用户会话,用于存储请求之间需要“记住”的值得词典
**在程序的实例上调用app.app_context()可以活动一个程序上下文。
六、请求调度
(1)Flash使用app.route修饰器或者非修饰器形式的app.add_url_rule()生成映射
(2)请求钩子:Flash提供注册通用的函数的功能,注册的函数可在请求被分发到视图函数之前或之后调用
before_first_request:注册一个函数,可在处理第一个请求之前运行
before_request:注册一个函数,在每次请求之前运行
after_request:注册一个函数,如果没有未处理的异常抛出,每次请求之后运行
teardown_request:注册一个函数,及时有未处理的异常抛出,也在每次请求之后运行
**请求狗仔函数和视图函数之间共享数据一般使用上下文全局变量g,并将其保存到g.user中,视图函数可使用g.user获取用户。
七、响应
(1)重定向响应使用redirect()辅助函数
(2)abort函数生成,用于处理错误
八、Flash扩展框架——支持命令行选项
Flask-Script是一个Flash扩展,为Flash程序添加一个命令解释器
安装:pip install flask-script
from flask.ext.script importManager
manager=Manager(app)if __name__ == '__main__':
manager.run()
命令行
hello.py runserver [-h] [-t HOST] [-p PORT] [--threaded] [--processe PROCESSES] [--passthrough-errors] [-d] [-r]