首页 > 其他分享 >19、flask-进阶-内置对象

19、flask-进阶-内置对象

时间:2024-07-28 13:50:13浏览次数:17  
标签:进阶 19 app request current flask 对象 print 函数

内置对象

  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)

标签:进阶,19,app,request,current,flask,对象,print,函数
From: https://www.cnblogs.com/littlecc/p/18328158

相关文章

  • 18、flask-进阶-插件-缓存flask-caching - 钩子函数(中间件)
    1.认识flask-caching插件使用插件1.安装$flaskinstallflask-caching2.初始化在exts.py中导入并初始化fromflask_cachingimportCache#初始化插件cache=Cache(config={'CACHE_TYPE':'simple'#缓存类型})#和app对象绑定definit_exts(app):......
  • 如何在flask和jinjia2模板中仅显示一个登录或注销按钮?
    我想在用户登录时显示注销按钮,在用户注销时显示登录按钮。但是这些按钮显示的次数与我有用户的次数一样多。我该如何修复它?--htmlcode{%foruserinusers%}{%ifuser.user_id==session['user_id']%}<liclass="nav-item">......
  • CF1119H Triple
    异或卷积,把一个三元组\(\{a_i,b_i,c_i\}\)转化为\(F_i[a_i]=x\),\(F_i[b_i]=y\),\(F_i[c_i]=z\)的幂级数,将\(\prod\limits_{i=1}^n\text{FWT}(F_i)\)执行\(\text{IFWT}\)即可考虑从每个幂级数只有\(3\)个非零值入手优化,设\(c(i,j)\)表示异或卷积的变换系数,即\(\text{......
  • 【C++进阶学习】第九弹——哈希的原理与实现——开放寻址法的讲解
    前言:在前面,我们已经学习了很多存储机构,包括线性存储、树性存储等,并学习了多种拓展结构,效率也越来越高,但是是否有一种存储结构可以在大部分问题中都一次找到目标值呢?哈希可能能实现目录一、哈希的概念二、哈希冲突三、哈希冲突解决3.1开放寻址法节点结构插入操作查......
  • BUUCTF 4.ciscn_2019_n_1
    拿到题目首先先运行程序我们发现给了我们一个数字,我们猜测应该是一个条件判断的程序,然后我们检查一下保护机制我们发现只开了NX(不可执行)保护,那我们直接看IDA就行了。main函数只是设定了无缓冲模式,以及调用了一个func函数,然后我们看一下我们可以看到gets和我们想要的flag,......
  • 基于python+flask+mysql徐州市天气信息可视化分析系统04600-计算机毕业设计项目选题推
    摘 要信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对天气信息等问题,对天气信息进行研究分析,然后开发设计出天气信息可视化分析系统以解决问题。......
  • 1 个 html 文件中有 2 个表单会引发错误:400 Bad Request (flask)
    我最近开始学习Flask,遇到了一个问题,当1个html文件有2个可以提交的表单时会发生这种情况。当只有一种表单时,不会发生此问题。这是我包含flask的python文件:fromflaskimportFlask,request,render_templateapp=Flask(__name__)app.secret_key='secretkry'......
  • python+flask计算机毕业设计农场营销管理系统(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着现代农业的快速发展,农场管理日益复杂,尤其是营销环节,传统的销售模式已难以满足市场快速变化的需求。农场主面临着如何高效管理农资采购......
  • python+flask计算机毕业设计社区独居老人健康管理系统(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着社会老龄化的加速,独居老人群体日益庞大,成为社会关注的焦点。这一群体在享受独立生活的同时,也面临着健康监测不及时、生活照料缺失、医......
  • 16、flask-模型-models-表的操作-多表操作-多对多
    代码如下:变化的只有models.py和views.pymodels.py"""用户:电影=N:M"""#中间表:收藏电影的用户collect=db.Table('collects',db.Column('user_id',db.Integer,db.ForeignKey('usermodel.id'),prima......