python - `@before_request` 装饰器中的访问路径变量(例如`/users/ 中的`user_id``)
问题描述
我有一个名为users_bp
. 为了实现对整个用户蓝图的授权,我想使用before_request
装饰器。
然而,显然,在我的例子中, before_request 装饰器没有收到 URL 的动态部分user_id
:
users_bp = Blueprint("users_bp", __name__, url_prefix="/users/<user_id>")
@users_bp.before_request
def before_request(user_id):
pass
例外:TypeError: before_request() missing 1 required positional argument: 'user_id'
因为我仍然可以访问其中的request
对象,before_request
所以我可以手动提取,user_id
但必须有更好的方法......
(最初我希望装饰器为 /users 路由做两件事:1. 检查授权,2. 将特殊的“/users/me”路由解析为当前登录的用户 ID。这仅在我添加装饰器时才有效到每条单独的路线。)
解决方案
推荐阅读
- r - Select top value within group return all
- search - 使用多个二叉搜索树来更快地找到一个项目是否有缺点?
- material-ui - 当我们单击 Material UI 'TableSortLabel' 中的表头标签时如何添加涟漪效果,如 Material UI Tabs
- material-ui - 材质 UI 上 makeStayles 上的 transitionDelay
- css - 没有文本和 Safari 的文本溢出省略号
- passport.js - 如何使用护照和nestjs将api密钥作为请求url上的查询字符串传递
- flutter - POST 调用适用于 Postman,但不适用于 Flutter
- pdf - 从前端 -> 节点 js -> s3 将 pdf 上传到 s3
- reactjs - 清理不会防止查找具有相同角色的多个元素时出错
- jhipster - 如何为 jhipster 命令提供分析的默认值?