纵使杯中茶已是凉苦,却也曾经是温热甘甜✨|

little小新

园龄:2年6个月粉丝:8关注:0

2024-07-28 13:52阅读: 16评论: 0推荐: 0

19、flask-进阶-内置对象

内置对象

  1. g对象:

    • global 全局对象
    • g对象是专门用来保存用户的数据的
    • g对象在一次请求中的所有的代码的地方都是可以使用的
    • 突变变量存储位置的限制,为函数传递添加了新的方式,比如我们在before_request产生一个数据在后面需要使用,可以保存在g对象中,就可以在其他视图中使用这个数据
  2. requets:

    • 请求对象,可以获取客户端提交过来的所有请求信息
  3. session:

    • 会话技术,服务端绘画技术的接口
  4. current_app:

    • app的配置信息。app对象获取,current_app
    • 使用获取当前app需要注意,一定要在程序初始化完成之后

使用

views.py

import time
from flask import Blueprint, request, g, current_app
from .models import *
from .exts import cache #导入
#创建蓝图(路由)
blue = Blueprint('user', __name__)
# 使用缓存cache
@blue.route('/')
# 给视图函数加缓存 20s,在第一次访问这个路由函数的时候,会调用视图函数,然后把返回值缓存起来,以后再访问这个路由函数的时候,直接从缓存中取值,不用再调用视图函数了
@cache.cached(timeout=20)
def index():
print('index函数中的g.star的值是:',g.star)
return 'index'
# 钩子函数的使用 - 中间件
# before_request:每一次请求其他路由前都会先执行该函数
@blue.before_request
def before():
print('before_request')
# request对象
print(request.path) # 访问的路由
print(request.method) # 请求的方法
print(request.remote_addr) # 客户端的ip地址
# Flask的内置对象
# request :请求对象
# session :会话对象
# g :全局对象
# current_app :Flask应用对象
g.star = '杰伦'
print(g.star)
print(current_app)
print(current_app.config)

本文作者:little小新

本文链接:https://www.cnblogs.com/littlecc/p/18328158

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   little小新  阅读(16)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起