Python全系列 教程
3567个小节阅读:5930k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
before_first_request:处理项目的第一次请求之前执行。
xxxxxxxxxx
from flask import Flask,request
app = Flask(__name__)
@app.route('/')
def hello_world():
print("hi")
return "hello world "
@app.before_first_request
def first_request():
print('hello world')
if __name__ == '__main__':
app.run(debug=True)
before_request:在每次请求之前执行。通常可以用这个装饰器来给视图函数增加一些变量。
请求已经到达了Flask,但是还没有进入到具体的视图函数之前调用。
一般这个就是在视图函数之前,我们可以把一些后面需要用到的数据先处理好,方便视图函数使用。
xxxxxxxxxx
from flask import Flask,g,session
app = Flask(__name__)
app.config['SECRET_KEY'] = 'skidhfikshighsd'
@app.route('/login/')
def login():
print('运行代码 222222222')
print('Hello!!!!')
session['uname'] = '吕布'
return f'Hello'
@app.route('/home/')
def home():
print('运行代码 3333333333')
if hasattr(g, 'uname'):
return f'用户已登录!用户名是:{g.uname}'
return '用户没有登录!'
@app.before_request
def before_request():
print('运行代码 111111111111')
uname = session.get('uname')
if uname:
g.uname = uname
print('这个是每次请求时,需要执行的逻辑!!!')
# 需求: 判断用户是否登录,如果登录了,就返回用户的信息,如果没有登录就返回None
if __name__ == '__main__':
app.run(debug = True)
实时学习反馈
1. 在Flask中,对钩子函数说法错误的是?
A 需要第一次请求时,增加业务处理,可以使用before_first_request
B 可以通过before_first_reuqest处理每次请求数据的数据
C 需要每一次请求时,增加业务处理,可以使用before_request
D 可以通过before_reuqest处理的请求数据
答案
1=>B