11.Flask-钩子函数
在Flask中钩子函数是使用特定的装饰器的函数。为什么叫做钩子函数呢,是因为钩子函数可以在正常执行的代码中,插入一段自己想要执行的代码,那么这种函数就叫做钩子函数。
- before_first_request:Flask项目第一次部署后会执行的钩子函数。
- before_request:请求已经到达了Flask,但是还没有进入到具体的视图函数之前调用。一般这个就是在函数之前,我们可以把一些后面需要用到的数据先处理好,方便视图函数使用。
before_request
@app.before_first_request
def first_request():
print('只有在处理第一次请求之前执行') @app.before_request
def before_request():
print('在视图函数执行之前执行')
after_request
装饰的视图函数有response参数,return response
视图函数执行之后,请求返回客户端之前。执行!
context_rocessor
只用这个钩子函数,必须返回一个字典。这个字典的值在所有模板中都可以使用。这个钩子函数的作用是,如果一些在很多模板中都要用到的变量,那么就可以使用这个钩子函数来返回,而不是在每个视图函数汇总的render_template中去写,这样可以让代码更加简洁和好维护。
@app.context_processor
def context_rocessor():
return {{'current_user':'xxx'}}
errorhandler
在发生异常的时候,比如404,500错误,自定义错误的页面,在errorhangdler装饰的钩子函数下:
- 要返回状态码
- 必须写一个参数,来接受错误的信息
使用flask.abort可以手动的抛出相应的错误,比如开发者发现参数不正确的时候可以手动的抛出一个404错误。
@app.errorhandler(500)
def server_error(error):
return render_template('500.html'),500 @app.errorhandler(404)
def page_not_found(error):
return render_template('404.html'),404
11.Flask-钩子函数的更多相关文章
- 11.Flask钩子函数
在Flask中钩子函数是使用特定的装饰器的函数.为什么叫做钩子函数呢,是因为钩子函数可以在正常执行的代码中,插入一段自己想要执行的代码,那么这种函数就叫做钩子函数. before_first_requ ...
- flask 钩子函数
说明: before_request函数,就是一个装饰器,他可以把需要设置为钩子函数的代码放到视图函数执行之前执行 示例: from flask import Flask,url_for,redire ...
- 21、Flask实战第21天:常用的Flask钩子函数
在Flask中钩子函数是使用特定的装饰器装饰的函数.为什么叫钩子函数呢?是因为钩子函数可以在正常执行的代码中,插入一段自己想要执行的代码.那么这种函数就叫做钩子函数. before_first_req ...
- 七十二:flask钩子函数之关于errorhandler的钩子函数
errorhandler:在发生一些异常的时候,如404.500,如果要自定义处理这些错误,就可以使用errorhandler来处理,使用errorhandler需要注意几点: 1.在errorhan ...
- 七十:flask钩子函数之关于before_request的钩子函数
在flask中钩子函数是使用特定的装饰器装饰的函数,用于在正常执行的代码中,插入一段自己想要执行的代码(hook) before_first_request:flask项目第一次部署后指向的钩子函数, ...
- 七十一:flask钩子函数之关于context_processor的钩子函数
context_processor:使用这个钩子函数,必须返回一个字典,这个字典的值在所有模板中都可以使用,这个钩子函数作用是,如果一些在很多模板中都要用到的变量,那么就可以使用此钩子函数来返回,而不 ...
- flask钩子函数
@app.context_processor def context_processor(): return {"current_user":"zhiliao" ...
- Flask初学者:g对象,hook钩子函数
Flask的g对象 作用:g可以可以看作是单词global的缩写,使用“from flask import g”导入,g对象的作用是保存一些在一次请求中多个地方的都需要用到的数据,这些数据可能在用到的 ...
- flask系列八之请求方法、g对象和钩子函数
一.get方法 ,post方法 post请求在模板中要注意几点: (1)input标签中,要写name来标识这个value的key,方便后台获取. (2)在写form表单的时候,要指定method=' ...
- Flask入门flask-script 蓝本 钩子函数(三)
1 flask-script扩展库 概念: 是一个flask终端运行的解析器 ,因为项目完成以后,代码改动会有风险,所以借助终端完成不同启动项的配置 安装 pip3 install flask-scr ...
随机推荐
- Android开发艺术-第二章 IPC 机制
2.1 Android IPC 简单介绍 IPC 意为进程间通信或者跨进程通信,线程是 CPU 调度的最小单元,是一种有限的系统资源. 进程一般指一个执行单元.不论什么操作系统都须要对应的 IPC 机 ...
- Hibernate中的自己定义类型——UserType、CompositeUserType
一.UserType Hibernate拥有自己定义映射表属性的机制.主要通过实现接口UserType,详细的UserType: import java.sql.PreparedStatement; ...
- MySQL基础笔记(四) 索引
一.什么是索引 索引(Index),可以看作一个指针,指向表里的数据.当数据库没有索引时,查找信息通常是全表扫描:使用了索引,它就会直接引导到数据在表里的准确物理位置. 优点:索引的主要目的是提高数据 ...
- 怎样更好的设计你的REST API之基于REST架构的Web Service设计及REST框架实现
一.REST 含状态传输(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格. 眼下在 ...
- Codeforces Round #221 (Div. 2) D
有点郁闷的题目,给了2000ms,可是n,m的范围已经是5000了.5000 * 5000一般在别的OJ已经是超了2000ms,一開始不敢敲.看了下别人有n*m的潜逃循环,原来CF的机子如此的强大,一 ...
- pycharm快捷键和一些常用的设置
http://blog.csdn.net/pipisorry/article/details/39909057 在PyCharm /opt/pycharm-3.4.1/help目录下可以找到Refer ...
- 计算机体系结构的铁律(iron law)
计算机体系结构的铁律可由下面公式来描写叙述: 从Programmer的角度来看,处理器的性能就是运行程序的耗费的时间.所以用Time/Program来刻画处理器性能.而这个简单的公式背后是有很丰富的内 ...
- c语言学习-指针探究
1:指针定义格式:格式:变量类型 *变量名用途:指针变量用于储存地址(only),也就是根据地址值,访问对应的存储空间. 注意.int *p 只能指向int类型的数据: 例: int a = 20; ...
- 2016/3/10 PHP环境搭建 LAMP WAMP
1. php成为服务器端的脚本语言.弱类型语言.$ JavaScript是弱类型语言.var Java强类型语言.byte short int long double float boolean 2. ...
- Linux的进程优先级NI和PR到底有什么区别
Linux的进程优先级NI和PR到底有什么区别 - 51CTO.COM http://os.51cto.com/art/201605/511559.htm