Python Flask中的全局GET管理
在Flask中是否有“全球获取管理”的方法 例如: 我想通过popover在flask应用程序的任何页面上显示错误消息。如果用户单击“关闭”按钮,应用程序将使用新的get参数“message_read=1”重新加载页面。 我想捕捉这个GET参数。我确信有一种比在每个app.route(很多)中都写一个检查更好的方法。你能给我一个提示吗Python Flask中的全局GET管理,python,flask,get,Python,Flask,Get,在Flask中是否有“全球获取管理”的方法 例如: 我想通过popover在flask应用程序的任何页面上显示错误消息。如果用户单击“关闭”按钮,应用程序将使用新的get参数“message_read=1”重新加载页面。 我想捕捉这个GET参数。我确信有一种比在每个app.route(很多)中都写一个检查更好的方法。你能给我一个提示吗 多谢各位 添加一个before-request函数并在那里处理它 您可以使用减量器。了解python装饰器 下面是一个使用flask定制装饰器的演示。下面的代码显
多谢各位 添加一个before-request函数并在那里处理它
您可以使用减量器
。了解python装饰器
下面是一个使用flask定制装饰器的演示。下面的代码显示了您的用例的装饰器定义和用法
代码
from flask import Flask,request
from functools import wraps
def popup_message(f):
@wraps(f)
def f_(*args,**argv):
message_read = request.args.get('message_read', None)
if message_read is not None:
return message_read
else:
return f(*args,**argv)
return f_
app = Flask(__name__)
@app.route('/earth')
@popup_message
def hello_earth():
return 'Hello,earth'
@app.route('/world')
@popup_message
def hello_world():
return 'Hello, World!'
app.run()
用法
from flask import Flask,request
from functools import wraps
def popup_message(f):
@wraps(f)
def f_(*args,**argv):
message_read = request.args.get('message_read', None)
if message_read is not None:
return message_read
else:
return f(*args,**argv)
return f_
app = Flask(__name__)
@app.route('/earth')
@popup_message
def hello_earth():
return 'Hello,earth'
@app.route('/world')
@popup_message
def hello_world():
return 'Hello, World!'
app.run()
按以下方式运行应用程序:
python main.py
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
并尝试向/earth和/world发出请求,包括和不包括消息\u read
检查答案并接受或评论