Python全系列 教程
3567个小节阅读:5929.3k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
保存为全局对象g对象的好处:
g对象是在整个Flask应用运行期间都是可以使用的。
并且也跟request一样,是线程隔离的。
这个对象是专门用来存储开发者自己定义的一些数据,方便在整个Flask程序中都可以使用。
一般使用就是,将一些经常会用到的数据绑定到上面,以后就直接从g上面取就可以了,而不需要通过传参的形式,这样更加方便。
g对象使用场景:有一个工具类utils.py 和 用户办理业务:
xxxxxxxxxx
def funa(uname):
print(f'funa {uname}')
def funb(uname):
print(f'funb {uname}')
def func(uname):
print(f'func {uname}')
用户办理业务
xxxxxxxxxx
from flask import Flask,request
from utils import funa,funb,func
app = Flask(__name__)
#Flask_线程隔离的g对象使用详解
@app.route("/profile/")
def my_profile():
#从url中取参
uname = request.args.get('uname')
#调用功能函数办理业务
funa(uname)
funb(uname)
func(uname)
#每次都得传参 麻烦,引入g对象进行优化
return "办理业务成功"
if __name__ == '__main__':
app.run(debug=True)
优化工具类utils.py
xxxxxxxxxx
from flask import g
def funa():
print(f'funa {g.uname}')
def funb():
print(f'funb {g.uname}')
def func():
print(f'func {g.uname}')
优化用户办理业务
xxxxxxxxxx
from flask import Flask,request,g
from utils import funa,funb,func
app = Flask(__name__)
#Flask_线程隔离的g对象使用详解
@app.route("/profile/")
def my_profile():
#从url中取参
uname = request.args.get('uname')
#调用功能函数办理业务
# funa(uname)
# funb(uname)
# func(uname)
#每次都得传参 麻烦,引入g对象进行优化
g.uname = uname
funa()
funb()
func()
return "办理业务成功"
if __name__ == '__main__':
app.run(debug=True)
实时学习反馈
1. 在Flask中,对于g对象说法错误的是?
A g对象可以理解为全局对象
B g对象需要自己创建才可使用
C g对象数据是数据隔离的
D g对象可以属性的形式获取参数值
答案
1=>B