我试图将动态变量从Flask中的路由传递到我的视图函数中。这似乎是一个标准功能。但是代码显示出一些奇怪的行为。
功能如下:
@bp.route('/<id>/update', methods=('GET', 'POST'))
@login_required
def update(id):
return id
这是http://localhost:5000/1/update页上的输出:
id
如您所见,我希望可以打印“ 1”的值,但可以打印参数的名称...我不知道为什么会这样,并且非常感谢您的帮助。
谢谢!
(编辑:这是教程中的代码)
答案 0 :(得分:0)
解决方案是来自其他模块的@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” ...