通过设置mimetype可以返回不同类型的数据,常用的有纯文本,html,xml,json
返回json格式数据时Flask提供一种更简洁的方式
这一个东西把生成response对象,设置数据类型,json序列化都做完了。
请求钩子请求钩子是在视图函数处理请求的前或者后的阶段进行的处理函数
Flask默认实现的五种请求钩子:
before_first_request 处理第一个请求之前
before_request 处理请求之前
after_request 处理请求之后
after_this_request 在视图函数内注册一个函数,会在这个请求结束后运行
teardown_request 在请求结束后,如果有异常也会执行的钩子,它在所有钩子中最后一个执行,需要传入异常对象
钩子通过装饰器注册,比如
@app.before_request def func(): passafter_request和after_this_request的钩子必须接受一个响应类对象做参数,最后并将其返回
配置变量Flask中,配置变量通过Flask对象的config属性配置与获取
在Flask对象的源码中看到config中已经存储了很多默认值
它其实是字典的子类,所以我们可以以字典的方式操作它
app.config['SWITCH'] = 'on' print(app.config['SWITCH'])也可以使用update方法一次添加多个配置
app.config.update(SWITCH_A=True,SWITCH_B=False)最后要注意配置变量的名称必须要大写,小写的变量不会被读取
debug模式如运行时控制台的输出
Debug mode: off
可知默认debug模式是关闭的,所以当访问路径的程序出现错误的时候页面会显示
若要开启debug模式,可在run方法添加debug=True参数
app.run('127.0.0.1',8000,debug=True)此时我们故意使程序出错,即将视图函数多添加一个参数,再次访问url,会出现
这个页面对于我们调试错误非常有用,同时还允许我们在页面上执行Python代码,我们只需要点击错误最右边的命令行图标
这时会弹出一个窗口让我们输入PIN码,这个可以在程序刚允许时控制台输出找到
输入后就可在页面执行代码了