首页 > 其他分享 >Falsk五

Falsk五

时间:2023-11-20 17:14:28浏览次数:24  
标签:return app request template Falsk def before

请求扩展

before_request:请求来了会走,依次从上往下执行,但是如果其中一个返回了响应对象,后续就不走了,视图函数也不走

after_request:  请求走了,会从下往上依次执行,必须返回相应对象

假设:

  写了3个before_request   第二个返回了响应对象

  写了3个after_request  所有的after_request都会执行,从下往上

使用场景:

  before_request 做一些拦截,判断

    比较校验请求头中是否带token,user-agent

  after_request在响应中加入

    响应头中

    响应cookie

    修改相应体

before_first_request 老版本:新版本没有了,项目启动后第一次执行,后面就再不执行了

teardown_request

每个请求之后绑定一个函数,即使遇到异常

@app.teardown_request
def lqz(err):
    print(err) # 如果视图函数正常顺利运行,err是None的,如果视图函数出错了,err就是错误对象,一般用来做日志记录
    print('teardown_request')

 

errorhandler

路径不存在时404,服务器内部错误500

@app.errorhandler(404)  # 路径不存在
def error(arg):
    print('xxx')
    print(arg)
    return render_template('404.html')
@app.errorhandler(500)  # 服务器内部错误
def error(arg):
    return render_template('500.html')

 

标签:

temple_global

@app.template_global()
def sb(a1, a2):
    return a1 + a2
#{{sb(1,2)}}

 

过滤器:

template_filter

@app.template_filter()
def db(a1, a2, a3):
    return a1 + a2 + a3
#{{ 1|db(2,3)}}

 

蓝图

blueprint 翻译过来的:flask是要做成项目,放到多个文件夹中,使用蓝图划分目录

不使用蓝图划分目录:

 

 

标签:return,app,request,template,Falsk,def,before
From: https://www.cnblogs.com/YeeQX/p/17844359.html

相关文章

  • Falsk三
    CBV源码官网:https://flask.palletsprojects.com/en/3.0.x/views/cbv源码执行流程请求来了,路由匹配成功,执行ItemAPI.as_view('item')()--->view加括号执行ItemAPI.as_view('item')执行结果:就是View中as_view方法中的闭包函数view(源码中as_view返回值是view) view()--->执行......
  • Falsk二
    登录认证装饰器1、只要函数被装饰器装饰了,以后被装饰的函数,就都叫inner2、只要在路由器装饰器上加endpoint属性,就可以解决名字重复问题3、endpoint等同于django路由中的name,给路由命别名,可以通过反向解析,通过名字找到路径4、url_for做路由反向解析,需要使用endpoint指定的名字......
  • falsk分页详细描述
    Flask-SQLAlchemy也提供了一个paginate()查询方法,相关源码如下defpaginate(self,page=None,per_page=None,error_out=True,max_per_page=None):"""Returns``per_page``itemsfrompage``page``.If``page``or``per_page``are``None``,they......
  • Tacotron2+Tensorflow1.1+FALSK 语音合成
    Tacotron2+Tensorflow1.1+FALSK语音合成背景需要语音播报设备的名称和异常状态环境Tacotron2Tensorflow1.1python3.6miniconda4.8.3标贝数据源安装与配置首先安装miniconda1.下载,使用清华下载源,进入miniconda下载页面https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/http......
  • Falsk 大文件上传/下载(send_from_directory)
    下载接口:服务端flask下载接口@app.route("/api/download/",methods=["POST"])defdownload():try:logger.debug("downloadstart")param=re......