flask之g对象

g对象

专门用来存储用户信息的g对象,g的全称的为global

g对象在一次请求中的所有的代码的地方,都是可以使用的

g对象和session的区别

session对象是可以跨request的,只要session还未失效,不同的request的请求会获取到同一个session,但是g对象不是,g对象不需要管过期时间,请求一次就g对象就
from  flask import Flask,g,request

app = Flask(__name__)

'''
专门用来存储用户信息的g对象,g的全称的为global

g对象在一次请求中的所有的代码的地方,都是可以使用的
'''

@app.before_request
def be():
    #request.name="cxw is big"
    if request.path=="/login":
         g.name="cxw is big"

def set_g():
    g.name = "cxw is big"

@app.route("/")
def index():
    set_g()
    print("视图1",g.name)
    return "ok"

@app.route("/login")
def login():
    print("login视图1", g.name)
    return "login"

@app.after_request
def af(response):
    print("after_request", g.name)
    return response

if __name__ == '__main__':
    app.run()

原文地址:https://www.cnblogs.com/XuChengNotes/p/12149318.html

时间: 2024-10-30 04:04:18

flask之g对象的相关文章

Flask中g对象,以及g,session,flash之间的区别

一.g对象的使用 专门用来存储用户信息的g对象,g的全称的为global g对象在一次请求中的所有的代码的地方,都是可以使用的 g对象的使用: 设置:g.变量名= 变量值 获取:g.name 注意:g对象比如说再a路由设置只能再a路由中去到g对象,在b路由汇总没法获得g对象 二.g,session,flash之间的区别 session 只要设置,在任意请求中都能拿到,无论你拿多少次 flash 一旦设置,可在任意一次请求中获取,但是只能取一次 g 在A路由中设置设置,只能在A路由请求中请求中获取

Flask10 登录模块、表单框架、表单渲染、表单验证、bookie、请求之前钩子、g对象、编写装饰器

from flask import Flask from flask import request from flask import render_template from flask_wtf import CSRFProtect as WTF # 利用表单类去渲染模板时需要用到 from forms import LoginForm app = Flask(__name__) WTF(app) # 在app上注册一个 WTF (所有的flask插件都必须进行注册) app.config.f

flask-get/post/线程隔离g对象/钩子函数

get: 通过request.args来获取 from flask import Flask, request @app.route('/search/') def search(): # 获得参数字典 args = request.args print(args) # ImmutableMultiDict([('q', 'hello')]) print(args.get('q')) # hello return 'search' post: 1 from flask import Flask,

中间件、蓝图、g对象

中间件 ''' flask中一旦请求到来,要执行app()--->>>执行的是app.__call__,整个flask的入口 ''' from flask import Flask app = Flask(__name__) @app.route('/') def index(): return 'index' # 模拟中间件 class My(object): def __init__(self, old_wsgi_app): self.old_wsgi_app = old_wsgi_

g对象

g对象 g对象就是一个容器,能够多次取值 from flask import Flask,g,request app = Flask(__name__) @app.before_request def be(): #request.name="cxw is big" if request.path=="/login": g.name="cxw is big" def set_g(): g.name = "cxw is big"

flask的Request对象

一.基本原理 flask的Request是flask接受request请求的关键对象,它将request请求解析并生成了Request对象,方便后台程序处理 request对象在flask是全局对象,在全局可用的优点是对于我们操作起来是非常方便的,随时在处理模块中import flask.request就行了 虽然为全局对象却是线程安全的(因为用到了上下文本地化) 线程安全问题都是由全局变量和静态变量引起的 若是每个线程对于全局变量,静态变量只有读操作而没有写操作,那么这个变量是线程安全的,若多

Flask上下文管理、session原理和全局g对象

一.一些python的知识 1.偏函数 def add(x, y, z): print(x + y + z) # 原本的写法:x,y,z可以传任意数字 add(1,2,3) # 如果我要实现一个功能,这三个数中,其中一个数必须是3 # 我们就可以使用偏函数来帮着我们传参 from functools import partial # partial:给add这个函数固定传一个数字 3 new_add = partial(add, 3) # 因此新的函数只需要传2个参数 new_add(1,1)

Flask之初学者(七)

Flask的g对象 g可以可以看作是单词global的缩写,使用"from flask import g"导入,g对象的作用是保存一些在一次请求中多个地方的都需要用到的数据,这些数据可能在用到的时候都需要去进行判断或其他处理之后才能获得,如果在第一次获取的时候就存放到g对象中,就可以避免一些不必要的操作.比如在某一个函数中定义了"g.username='Jason'"(可能为了定义这个值,会进行一些别的操作,比如数据库查询判断等,定义好了这个值后就不用再每次用到它的

使用 Flask 设计 RESTful 的认证

使用 Flask 设计 RESTful 的认证¶ 今天我将要展示一个简单,不过很安全的方式用来保护使用 Flask 编写的 API,它是使用密码或者令牌认证的. 示例代码¶ 本文使用的代码能够在 github 上找到: REST-auth . 用户数据库¶ 为了让给出的示例看起来像真实的项目,这里我将使用 Flask-SQLAlchemy 来构建用户数据库模型并且存储到数据库中. 用户的数据库模型是十分简单的.对于每一个用户,username 和 password_hash 将会被存储: cla