flask - 在烧瓶中我自己的装饰器中从路由函数获取参数
问题描述
在烧瓶中,在路由函数和视图函数之间,如何获取参数以便定义新的装饰器?这里我展示一个例子。
@app.route('/Page/<int:Num>')
@HowToGetNum(Num) # here I do not know how to get Num
def Page(Num):
....
参数 Num 将被传递到 Page。但在此之前,我想定义一个新的装饰器“HowToGetNum”。但是,我发现没有办法将 Num 传递给它。有什么解决办法吗?
解决方案
在 python 装饰器中,在使用之前对函数进行操作。
实际发生的是 Page 函数正在被重新定义。
页 = HowToGetNum(页)
您可以做的是将 HowToGetNum 定义为:
def HowToGetNum(func): def GetsNum(Num): # 用 Num 做一些事情 功能(数量) 返回GetsNum
因此,新功能具有您的功能,然后运行原始页面
推荐阅读
- php - 仅当存在特定类别的产品时才将产品添加到购物篮 WooCoomerce
- javascript - Joi 需要未知字段
- docker - 在 docker 容器上运行空手道测试时,Chrome 可执行文件被覆盖
- mysql - 如何为生产环境配置 XAMPP
- r - 在每个组中创建一个序号
- c# - 使用 C# 中的虚拟 PDF 打印机以编程方式和静默方式打印 Word 文档
- laravel - Composer 无法完成 Laravel 的安装
- angular - 为动态更改组件更改 ngControl.valueAccessor
- angularjs - 如何用 AngularJS 嵌套和嵌入这个例子?
- arrays - 'fgets' 读取空格而不是读取输入的字符串。为什么?