Flask笔记
json数据用data获取
请求钩子是通过装饰器的形式实现,类似于Django的中间件. Flask支持如下四种请求钩子:
- before_first_request:在处理第一个请求前运行。
- before_request:在每次请求前运行。
- after_request:在每次请求后运行。
- teardown_request:在每次请求后运行,即使有未处理的异常抛出。
@app.route('/')
def hello_world():
print '这里正在执行处理逻辑'
return 'Hello World!'
# 在处理第一个请求前运行. 应用场景: 比如连接数据库操作
@app.before_first_request
def before_first_request():
print 'before_first_request'
# 在每次请求前运行。应用场景: 比如对数据做效验. 如果数据有问题, 可以直接返回. 就不会再去执行对应的视图函数
@app.before_request
def before_request():
print 'before_request'
# return 'hehe'
# 如果没有未处理的异常抛出, 在每次请求后运行。应用场景: 比如拼接响应头信息. 让所有json.dumps()的数据, 统一增加Content-Type为application/json
@app.after_request
def after_request(response):
print 'after_request'
response.headers['Content-Type'] = 'application/json'
return response
# 在每次请求最后运行,即使有未处理的异常抛出。 可以捕获到异常信息
@app.teardown_request
def teardown_request(e):
print 'teardown_request %s' % e
设置cookie 需要make_response返回消息设置
flask中将session存在cookie当中,不需要依赖三方数据库,实际还需要用到redis
通过使用Flask-Script扩展,我们可以在Flask服务器启动的时候,通过命令行的方式启动,跟数据迁移关联
上下文就是4个对象:request,session,current_app,g