【问题标题】:Dynamic flask URL variable is not being passed to the view function动态烧瓶 URL 变量未传递给视图函数
【发布时间】:2026-01-31 20:00:01
【问题描述】:

我正在尝试将动态变量从 Flask 中的路由传递到我的视图函数中。这似乎是一个标准功能。但是代码显示了一些奇怪的行为。

函数如下:

@bp.route('/<id>/update', methods=('GET', 'POST'))
@login_required
def update(id):
    return id

这是http://localhost:5000/1/update 页面上的输出:

id

如您所见,我希望打印“1”的值,但打印的是参数的名称......我不知道为什么会发生这种情况,非常感谢一些帮助。

谢谢!

(编辑:这是教程中的代码)

【问题讨论】:

    标签: python html flask


    【解决方案1】:

    解决方案是来自不同模块的 @login_required 装饰器中的错误。如果有人遇到同样的错误,这就是我的代码...

    def login_required(view):
    @functools.wraps(view)
    def wrapped_view(**kwargs):
        if g.user is None:
            return redirect(url_for('auth.login'))
        return view(*kwargs)
    return wrapped_view
    

    “kwargs”缺少一颗星,因此 python 将其视为“args”而不是“kwargs”...

    【讨论】: