Flask - 请求扩展,钩子函数(Django的中间件) --> 请求前,中,后,
例子1. 处理请求之前
@app.before_request
在请求之前,这个被装饰的函数会被执行
用户登录验证代码可以在这里写
@app.before_request
def process_request(*args,**kwargs):
#print(request.xxx)
print('请求之前')
return '拦截'

例子2. @app.before_request, @app.after_request最常用
from flask import Flask,render_template,request,redirect,session,url_for
app = Flask(__name__)
app.debug = True
app.secret_key = 'I am serect_key'
@app.before_request
def process_request1(*args,**kwargs):
print('process_request1 came in')
# return '拦截' #request2不执行,两个response执行
@app.before_request
def process_request2(*args,**kwargs):
print('process_request2 came in')
@app.after_request
def process_response1(response):
print('process_response1 gone')
return response
@app.after_request
def process_response2(response):
print('process_response2 gone')
return response
@app.errorhandler(404)
def error_404(arg):
print('404错误')
return "404错误了"
@app.before_first_request
def first(*args,**kwargs):
pass
@app.route('/',methods=['GET'])
def index():
print('/index函数')
return "/index函数"
if __name__ == '__main__':
app.run()


因为错误页面请求到了,所以状态码为200
例子3. @app.before_first_request
@app.before_first_request
def first(*args, **kwargs):
pass
第一次请求之前,例如进行打开数据库操作
Flask - 请求扩展,钩子函数(Django的中间件) --> 请求前,中,后,的更多相关文章
- csrf 跨站请求伪造相关以及django的中间件
django为用户实现防止跨站请求伪造的功能,通过中间件 django.middleware.csrf.CsrfViewMiddleware来完成. 1.django中常用的中间件? - proces ...
- Flask常用的钩子函数
before_first_request:处理第一次请求之前执行.例如以下代码: @app.before_first_request def first_request(): print 'first ...
- 飘逸的python - 极简的二叉树前中后序通杀函数
对于任一结点.能够按某种次序运行三个操作: 訪问结点本身(N) 遍历该结点的左子树(L) 遍历该结点的右子树(R) 用来表示顺序,即,前序NLR/中序LNR/后序LRN. 以下我们用namedtupl ...
- 第二篇 Flask基础篇之(闪现,蓝图,请求扩展,中间件)
本篇主要内容: 闪现 请求扩展 中间件 蓝图 写装饰器,常用 functools模块,帮助设置函数的元信息 import functools def wrapper(func): @functools ...
- Flask - 请求响应 | session | 闪现 | 请求扩展 | 中间件
请求响应 flask的请求信息都在request里 flask的响应方式有四剑客,也可以自定义响应 请求相关信息 # request.method 提交的方法 # request.args get请求 ...
- Flask入门flask-script 蓝本 钩子函数(三)
1 flask-script扩展库 概念: 是一个flask终端运行的解析器 ,因为项目完成以后,代码改动会有风险,所以借助终端完成不同启动项的配置 安装 pip3 install flask-scr ...
- 21、Flask实战第21天:常用的Flask钩子函数
在Flask中钩子函数是使用特定的装饰器装饰的函数.为什么叫钩子函数呢?是因为钩子函数可以在正常执行的代码中,插入一段自己想要执行的代码.那么这种函数就叫做钩子函数. before_first_req ...
- Django【第12篇】:Django之中间件
自定义验证规则以及中间件简单介绍 1.python2和python3中的区别 对于python2内置的字符串类型有str和unicode 比如:"abc"是字符串,u"你 ...
- session、闪现、请求扩展
session 除请求对象之外,还有一个session对象.它允许你在不同请求储存特定用户的信息.它是在Cookies的基础上实现的,并且对,Cookies进行密钥签名要使用会话,你需要设置一个密钥. ...
随机推荐
- maven 配置环境变量后报错jdk版本不符
不需要再cmd 输入java -version,因为环境变量里配置的不一定是cmd显示版本,直接看环境变量改成maven要求的jdk版本即可.
- chrome 2行换行省略号 ... text-ellipse
display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; 谷歌内部项目 ...
- ASP.NET Core搭建多层网站架构【14-扩展之部署到IIS】
2020/02/03, ASP.NET Core 3.1, VS2019, IIS 10, dotnet-hosting-3.1.1-win.exe 摘要:基于ASP.NET Core 3.1 Web ...
- 创业学习---《如何预判创业可行性》--B-1.预判模块---HHR计划---以太一堂
<如何预判创业可行性>----对创业进行占卜 一,<开始学习> 1,预热思考题: (1)预判一个模式的可行性.你有一个朋友要创业,给你讲了他的创业计划,你帮他判断一下是否靠谱. ...
- java实现文字转语音功能(仅Windows)
一.pom.xml引入jar包依赖 <!-- https://mvnrepository.com/artifact/com.jacob/jacob 文字转语音 --> <depend ...
- dp-捡金币
来源:牛客网 题目描述 最近,奶牛们热衷于把金币包在面粉里,然后把它们烤成馅饼.第i块馅饼中含有Ni(1<=Ni<=25)块金币,并且,这个数字被醒目地标记在馅饼表面. 奶牛们把所有烤 ...
- jxl读取设置过数据有效性的xls文件报错
//在用jxl读入excel时,一直报如下错误: Warning: Cannot read drop down range Unrecognized token 43 Exception in thr ...
- idea提示非法字符
问题: 解决方法: 将编码格式UTF-8+BOM文件转为普通的UTF-8文件. 一.简单方法,在AS右下角,将编码改为GBK,再转为UTF-8,可以解决. 二.可以用EditPlus 1.将文件用Ed ...
- 使用Shiro实现认证和授权(基于SpringBoot)
Apache Shiro是一个功能强大且易于使用的Java安全框架,它为开发人员提供了一种直观,全面的身份验证,授权,加密和会话管理解决方案.下面是在SpringBoot中使用Shiro进行认证和授权 ...
- 「JSOI2014」矩形并
「JSOI2014」矩形并 传送门 我们首先考虑怎么算这个期望比较好. 我们不难发现每一个矩形要和 \(n - 1\) 个矩形去交,而总共又有 \(n\) 个矩形,所以我们把矩形两两之间的交全部加起来 ...