在Flask中钩子函数是使用特定的装饰器装饰的函数。那么这种函数就叫做钩子函数。
before_first_request
:Flask项目第一次部署后会执行的钩子函数。before_request
:请求已经到达了Flask,但是还没有进入到具体的视图函数之前调用。一般这个就是在视图函数之前,我们可以把一些后面需要用到的数据先处理好,方便视图函数使用。context_processor
:使用这个钩子函数,必须返回一个字典。这个字典中的值在所有模版中都可以使用。这个钩子函数的函数是,如果一些在很多模版中都要用到的变量,那么就可以使用这个钩子函数来返回,而不用在每个视图函数中的render_template
中去写,这样可以让代码更加简洁和好维护。errorhandler
:在发生一些异常的时候,比如404错误,比如500错误。那么如果想要优雅的处理这些错误,就可以使用errorhandler
来出来。需要注意几点:- 在errorhandler装饰的钩子函数下,记得要返回相应的状态码。
- 在errorhandler装饰的钩子函数中,必须要写一个参数,来接收错误的信息,如果没有参数,就会直接报错。
- 使用
flask.abort
可以手动的抛出相应的错误,比如开发者在发现参数不正确的时候可以自己手动的抛出一个400错误。