搜索
您的当前位置:首页正文

FLask Web Chapter 2的回顾

来源:二三娱乐

程序初始化

From flask import Flask
app = Flask(__name__) # 通过__name__找到程序根目录

路由和视图函数

@app.route('/')
def index():
    return '<h1>hello</h1>'
  1. 这里使用了python 的装饰器函数,用来修改函数行为,具体可以google
  2. index返回'响应',客户端接收的内容 ---视图函数
  3. 可以创建动态名字,Flask 支持路由中使用int float path(字符串)类型,'\'不会被视为分隔符,当作动态片段一部分
@app.route('/user/<name>'):
def user(name):
    return '<h1>hello,%s</h1>'%name

启动服务

if __name__ = '__main__':
    app.run(debug=True)
    debug = True #可以激活调试器和重载程序,而且Flask的web服务器不适合生产环境使用,非常慢

请求 - 响应

程序和请求上下文

FLask 有2种上下文,程序上下文和请求上下文

Tables Are Cool
current_app 程序上下文 当前激活程序的实例
g 程序上下文 处理请求时用作临时存储的对象.每次请求都会重置这个变量
request 请求上下文 请求对象,封装客户端发出的http请求内容
session 请求上下文 用户会话,存储请求之间需要记住的值的字典

请求调度

程序收到客户端发来的请求,找到处理该请求的视图函数,Flask会到URL映射中查找请求的URL

  • URL映射是 URL和视图函数之间的对应关系
  • Flask使用app.route修饰器,或者非修饰器形式的app.add_url_rule()生成映射

请求钩子

处理请求之前或者之后的执行代码,FLask提供注册通用函数的功能,Flask支持4种钩子

  1. before_first_request 处理第一个请求之前运行
  2. before_request 每次请求之前运行
  3. after_request 如果没有异常抛出,每次请求之后运行
  4. teardown_request: 即使有异常抛出,每次请求之后运行

响应

响应一般是字符串-HTML页面 和 状态码

  • 成功处理响应 : 200
  • 请求无效 : 404
  • 重定向 : 302

常用的函数

  • 创建响应对象 - make_response()
  • 重定向 - redirect()
  • 处理错误 - abort(404)

FLask 扩展

Flask-Script - 支持命令行选项

Top