11.Flask钩子函数】的更多相关文章

在Flask中钩子函数是使用特定的装饰器的函数.为什么叫做钩子函数呢,是因为钩子函数可以在正常执行的代码中,插入一段自己想要执行的代码,那么这种函数就叫做钩子函数. before_first_request:Flask项目第一次部署后会执行的钩子函数. before_request:请求已经到达了Flask,但是还没有进入到具体的视图函数之前调用.一般这个就是在函数之前,我们可以把一些后面需要用到的数据先处理好,方便视图函数使用. before_request @app.before_first…
说明: before_request函数,就是一个装饰器,他可以把需要设置为钩子函数的代码放到视图函数执行之前执行 示例: from flask import Flask,url_for,redirect,render_template,request app = Flask(__name__) @app.route('/') def index(): print ('index') return 'index' @app.before_request def mybefore_request(…
在Flask中钩子函数是使用特定的装饰器装饰的函数.为什么叫钩子函数呢?是因为钩子函数可以在正常执行的代码中,插入一段自己想要执行的代码.那么这种函数就叫做钩子函数. before_first_request 部署后处理第一次请求之前执行,当执行第二次的时候,则不会再执行此钩子函数 before_request 在每次请求之前执行.通常可以用这个装饰器来给视图函数增加一些变量,比如下面的例子 template_filter 在使用Jinja2模板时候自定义过滤器. @app.route('/')…
errorhandler:在发生一些异常的时候,如404.500,如果要自定义处理这些错误,就可以使用errorhandler来处理,使用errorhandler需要注意几点: 1.在errorhandler装饰的钩子函数下,要返回相应的状态码 2.在errorhandler装饰的钩子函数中,必须写一个位置参数,用来接收错误信息,如果没有写位置参数,则会报错 3.使用flask.abort可以手动抛出一些错误,比如发现参数有问题时,可以手动抛出一个400错误,然后让定义好的400错误的处理逻辑去…
在flask中钩子函数是使用特定的装饰器装饰的函数,用于在正常执行的代码中,插入一段自己想要执行的代码(hook) before_first_request:flask项目第一次部署后指向的钩子函数,类似于unittest的setupClass before_request:请求到达flask,但是还没有进入到具体的视图函数之前调用,一般用于在调用视图函数之前,准备或处理一些后面可能会用到的数据,类似于unittest的setup…
context_processor:使用这个钩子函数,必须返回一个字典,这个字典的值在所有模板中都可以使用,这个钩子函数作用是,如果一些在很多模板中都要用到的变量,那么就可以使用此钩子函数来返回,而不用在每个视图函数中的render_template()中去写,这样代码更加简洁和好维护,此函数必须返回数据,且只能字典即使是空的字典 访问…
@app.context_processor def context_processor(): return {"current_user":"zhiliao"}#这里必须有返回值,而且返回值必须是字典 #下面错误的写法 @app.context_processor def context_processor_error(): if hasattr(g,'user'): return {"current_user":g.user}#不能这样写,函…
Flask的g对象 作用:g可以可以看作是单词global的缩写,使用“from flask import g”导入,g对象的作用是保存一些在一次请求中多个地方的都需要用到的数据,这些数据可能在用到的时候都需要去进行判断或其他处理之后才能获得,如果在第一次获取的时候就存放到g对象中,就可以避免一些不必要的操作. 例如:在某一个函数中定义了“g.username='Jason'”(可能为了定义这个值,会进行一些别的操作,比如数据库查询判断等,定义好了这个值后就不用再每次用到它的时候都去进行这些操作…
一.get方法 ,post方法 post请求在模板中要注意几点: (1)input标签中,要写name来标识这个value的key,方便后台获取. (2)在写form表单的时候,要指定method='post',并且要指定action='/login/'. 示例代码: <form action="{{ url_for('login') }}" method="post"> <table> <tbody> <tr> &l…
1 flask-script扩展库 概念: 是一个flask终端运行的解析器 ,因为项目完成以后,代码改动会有风险,所以借助终端完成不同启动项的配置 安装 pip3 install flask-script 使用 from flask_script import Manager #导入 manager = Manager(app) #初始化flask运行的解析器 manager.run() #运行 执行程序需要在启动项输入命令 python3 当前启动文件名.py runserver 可选参数…