专栏首页python-爬虫Flask的请求扩展

Flask的请求扩展

from flask import Flask,request
app = Flask(__name__)

一.请求前

before_request

用法

@app.before_request
def func():
    print(request) #可以在请求来前对于request进行处理
    #return 如果有返回值页面将渲染返回值不走@app.routex相关函数
    #如有有返回值且有after_request相关函数他的返回值会接着执行after_request相关函数
    #如果有多个before_request他会自上而下按照顺序执行

二.请求后

after_reques

用法

@app.after_request
def func(response): #必须传一个response对象
    return response #必须返回一个response对象
   #有多个after_request他会从后往前执行

三.页面第一次请求

before_first_request

用法

@app.before_first_request
def first():
    pass

FLask启动时候,页面请求第一次才会执行,第二次不会执行与浏览器无关

四.异常捕获

teardown_request

用法

@app.teardown_request 
def ter(e):
    pass
  • 只能捕获异常而不能让页面渲染出自定义的异常信息
  • app.debug=True模式下e为空
  • 无论什么情况函数都会运行

五.异常处理

用法

@app.errorhandler(状态码)
def error_404(arg):
    return "页面我们自定义错误信息进行渲染"

六.页面渲染

用法

@app.template_global()
def sb(a1, a2):
    return a1 + a2

所有页面渲染的时候如果页面上有sb变量他将自动调用该函数

页面中

{{sb(1,2)}}
#页面显示结果为3

七.过滤器

用法

@app.template_filter()
def db(a1, a2, a3):
    return a1 + a2 + a3

页面中

#{{ 第一个变量|db(第二个变量,第三个变量)}}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python3安装与使用urllib2包之小坑

    Python3.6.6或者说python3.x找不到urllib2语法问题修改之后,会报一个没有安装urllib2的包的错误。

    小小咸鱼YwY
  • django-搭建BBS关键点总结

    注意点:如果同时在一个浏览器中打开两个相同的网页,他的code以后的那个网站为准,这是session的特性

    小小咸鱼YwY
  • django根据已有数据库表生成model类

    修改setting文件,在setting里面设置你要连接的数据库类型和连接名称,地址之类,和创建新项目的时候一致

    小小咸鱼YwY
  • 前端使用puppeteer 爬虫生成《React.js 小书》PDF并合并

    puppeteer: Google 官方出品的 headless Chrome node 库 puppeteer github仓库 puppeteer API

    若川
  • Q3百度移动报告:TABLE大城市圈完地,向城乡结合部进军

    今天百度发布了Q3移动报告。百度利用数据收集、统计分析和挖掘以及资源上的优势,定期发布产业研究报告,移动趋势报告价值较高,值得关注。与半年前的Q1相比,中国移动...

    罗超频道
  • expect 构建分发文件系统 原

    需求背景: 对于大公司而言,肯定时不时会有网站或者配置文件更新,而且使用的机器肯定也是好多台,少则几台,多则几十甚至上百台。所以,自动同步文件是至关重要的。

    阿dai学长
  • Oracle的窗口和自动任务

    Oracle数据库自己会例行做一些定时任务,比如会自动进行统计信息收集等作业任务。如果统计信息收集的时间正好赶上业务的高峰期,那就有可能由此引发一系列性能故障。...

    Alfred Zhao
  • Linux下查看进程的启动和运行时间

    总体来说, ps主要是查看进程的,尤其你关心的进程 top主要看cpu,内存使用情况,及占用资源最多的进程由高到低排序,关注点在于资源占用情况

    Y大宽
  • 手撕包菜搭建

    最近做了两件事,一件事就是买了块1t硬盘,第二件事就是买了个百度云会员,无奈找不到资源下载,那就没办法了,搭建一个磁力链接搜索引擎来爬去链接,然后去找资源。

    bboysoul
  • 深入浅出 Laravel 路由执行原理

    可以说几乎所有的框架都会涉及到「路由」的处理,简单一点讲就将用户请求的 url 分配到对应的处理程序。

    柳公子

扫码关注云+社区

领取腾讯云代金券