flask---闪现/请求扩展/g对象

这篇具有很好参考价值的文章主要介绍了flask---闪现/请求扩展/g对象。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

闪现

# 一个请求---》假设出错了---》重定向到另一个地址---》把错误信息在另一个返回中看到
错误信息放个位置----》另一个请求过来,去那个位置拿
# 把一些数据,放在某个位置---》后期可以去取出来----》取完不用删除,就没了
def index():
    s='xx错位了'
    return redirect('/errors')

def errors():
    return index.html



# 如何设置
flash('aaa')
# 如何取
get_flashed_message()

# 分类放
flash('超时错误', category="x1")
# 分类取
data = get_flashed_messages(category_filter=['x1'])
from flask import Flask,flash,get_flashed_messages

app=Flask(__name__)
app.debug=True
app.secret_key='asdfasdfasdfa'
# 只要用闪现---》就要设置secret_key----》放到session中了

@app.route('/')
def index():
    # 放入我的名字
    # flash('lqz')  # 放哪了?

    # 分类放
    flash('超时错误', category="x1")
    return 'xxx'
@app.route('/home')
def home():
    # 取出我的名字
    name=get_flashed_messages(category_filter=['x2'])
    print(name)
    return 'home'

@app.route('/order')
def order():
    # 取出我的名字
    # name=get_flashed_messages()
    # print(name)
    data = get_flashed_messages(category_filter=['x1'])
    print(data)
    # 按分类取
    return 'home'
if __name__ == '__main__':
    app.run(port=8080)
# 1 django 的message就是做这个事的
# 2 闪现有什么用?
	-暂时存数据
    -当次请求出错了,下次请求要显示这个错误

请求扩展

# 类似于django中的中间件
	-请求来了,请求走了,做一些拦截
        1 before_request
        2 after_request
        3 before_first_request
        4 teardown_request
        5 errorhandler
        6 template_global
        7 template_filter
        
        
# before_request 每个请求来了,都会走

before_request

# 请求来了执行---》process_request--->可以下多个,从上往下依次执行
@app.before_request
def before():
    # 当次请求的对象就是request
    # 1  判断访问的不同路径
    # if request.path=='/':
    #     print('我来了')
    # else:
    #     print('访问其他路径')
    # 2 判断如果是跟路径,向request对象中放个name,其他不放
    # if request.path == '/':
    #     request.name = 'lqz'
    # else:
    #     print('访问其他路径')

    # 3 返回None,会执行下一个请求扩展,如果返回4件套,直接就返回了,不再往下执行了
    # if request.path=='/':
    #     return '不让你访问'
    # else:
    #     print('访问其他路径')
    # 4 多个before_request,从上往下执行
    print('1111')


@app.before_request
def before2():
    print('2222')

after_request

@app.after_request
def after2(response):
    print('走了走了222')
    return response


@app.route('/')
def index():
    # print(request.name)
    return 'xxx'

before_first_request

# 项目运行起来的第一次会执行,以后再也不执行了
# 1.x可以,2.x弃用了

teardown_request

# teardown_request 每一个请求之后绑定一个函数,即使遇到了异常---》一般用来记录日志--->不能做统一异常处理
@app.teardown_request
def ttt(e):
    # 通过判断e是否为空,记录日志
    print(e)  # 出了异常,e就是异常对象,如果没有异常,e就是None
    print('来了老弟')
    if e:
        return '出异常了'

errorhandler

## errorhandler
@app.errorhandler(404)
def error(e):
    print(e)
    print('xxx')
    return render_template('error.html')


@app.errorhandler(500)
def error1(e):
    print(e)
    print('500')
    return jsonify({'code': 999, 'msg': '服务器内部错误,请联系系统管理员'})

template_global全局标签

# template_global 全局标签,所有页面都可以用
@app.template_global()
def add(a1, a2):
    return a1 + a2

template_filter全局过滤器

# template_filter 全局过滤器
@app.template_filter()
def db(a1, a2, a3):
    print(a1)
    return a1 + a2 + a3

g对象

# 请求来了,在request中放个path,后续的视图函数中都能拿到
# flask不建议向request对象中放变量,建议使用g对象

# g对象,当次请求中放入的变量,在当次请求中一直存在

# global的缩写,global


# g和session的区别
	-g只针对于当次请求
    -session可以跨请求

文章来源地址https://www.toymoban.com/news/detail-627725.html

到了这里,关于flask---闪现/请求扩展/g对象的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Flask框架小程序后端分离开发学习笔记《4》向服务器端发送模拟请求-爬虫

    Flask是使用python的后端,由于小程序需要后端开发,遂学习一下后端开发。 下面代码,是一个比较老的版本了,可以借鉴一下。 最后尝试请求豆瓣的网页,并未得到,我怀疑是有反爬手段,我们的请求数据还有很多东西没加进去,所以看起来不像是浏览器发送的请求,后续会

    2024年01月20日
    浏览(15)
  • Flask框架小程序后端分离开发学习笔记《3》客户端向服务器端发送请求

    Flask框架小程序后端分离开发学习笔记《3》客户端向服务器端发送请求

    Flask是使用python的后端,由于小程序需要后端开发,遂学习一下后端开发。 可以看到上述代码构建了一个HTTP请求,在发送之前需要将发送之前,使用http_request.encode(‘utf-8’)。 这是因为我们在这构建的请求是字符串文本,而电脑只认识二进制0和1,所以需要将其数据类型转换

    2024年01月22日
    浏览(14)
  • Python - flask后端开发笔记

    ​ Flask入门 有一篇很全面的博客可以参考:Python Flask Web 框架入门 跨域问题处理 文件发送 ​

    2024年02月07日
    浏览(11)
  • 使用PostMan使用post请求向后端发送json对象时报错

    使用PostMan使用post请求向后端发送json对象时报错

     报错信息:Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize instance of com.itheima.domain.Book out of START_ARRAY token; nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of com.itheima.domain.Book out of START_ARRAY token  at

    2024年02月03日
    浏览(13)
  • 【小沐学Python】Python实现Web服务器(Flask框架扩展:Flask-Admin)

    【小沐学Python】Python实现Web服务器(Flask框架扩展:Flask-Admin)

    flask作为一个微框架,Flask 允许您以很少的开销构建 Web 服务。 它为您(设计师)提供了自由,以适合您的方式实施您的项目 特定应用。 一个最小的 Flask 应用如下: Flask-Admin是一个batteries-included,易于使用的Flask扩展,可让您 向 Flask 应用程序添加管理界面。它的灵感来自 d

    2024年02月02日
    浏览(48)
  • 【Spring Boot】请求参数传json对象,后端采用(pojo)CRUD案例(102)

    【Spring Boot】请求参数传json对象,后端采用(pojo)CRUD案例(102)

    请求参数传json对象,后端采用(pojo)接收的前提条件: 1.pom.xml文件加入坐标依赖:jackson-databind 2.Spring Boot 的启动类加注解:@EnableWebMvc 3.Spring Boot 的Controller接受参数采用:@RequestBody 4.postman入参采用json格式 1.pom.xml文件加入坐标: 2.Spring Boot 启动类:加注解:@EnableWebMvc POJO类

    2024年02月14日
    浏览(10)
  • Python Flask 后端向前端推送信息——轮询、SSE、WebSocket

    Python Flask 后端向前端推送信息——轮询、SSE、WebSocket

    后端向前端推送信息,通知任务完成 轮询 SSE WebSocket 请求方式 HTTP HTTP TCP长连接 触发方式 轮询 事件 事件 优点 实现简单易兼容 实现简单开发成本低 全双工通信,开销小,安全,可扩展 缺点 消耗较大 不兼容IE 传输数据需二次解析,开发成本大 适用场景 服务端向客户端单向

    2023年04月19日
    浏览(34)
  • 【python】flask模板渲染引擎Jinja2,通过后端数据渲染前端页面

    【python】flask模板渲染引擎Jinja2,通过后端数据渲染前端页面

    ✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN新星创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开

    2024年04月11日
    浏览(15)
  • python在flask中的请求数据“无限流”

    python在flask中的请求数据“无限流”

    在flask请求中,有个需求是让调用方一直调接口,并立马返回,而接口方缓存请求,依次执行。 注意: 需要注意的是, request_queue.get() 之后队列里的值就直接推出了,不用显式推出。 以上就可以做到讲请求立刻返回,接口缓存请求内容自我\\\"消化\\\"。Enjoy~ ∼ O n e   p e r s o n  

    2024年02月21日
    浏览(12)
  • 【Python】flask框架请求体数据,文件上传,请求头信息获取方式案例汇总

    【Python】flask框架请求体数据,文件上传,请求头信息获取方式案例汇总

    ✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN新星创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开

    2024年03月22日
    浏览(9)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包