Python——Flask框架——程序的基本结构
一、安装
pip install flask
二、初始化
from flask import Flask app = Flash(__name__)
三、路由:处理URL和函数之间的关系的程序称为路由
(1)路由装饰器
@app.route('/') def index(): return ('<h1>Hello World</h1>')
(2)动态路由
@app.route('/user/<name>') def user(name): return ('<h1>Hello World,%s</h1>')%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 import Manager manager = Manager(app) if __name__ == '__main__': manager.run()
命令行
hello.py runserver [-h] [-t HOST] [-p PORT] [--threaded] [--processe PROCESSES] [--passthrough-errors] [-d] [-r]