首页 > 解决方案 > 如何从烧瓶中的 login_required 路由获取参数?

问题描述

一段时间以来,我一直在尝试理解错误,并得出结论,@login_required 不允许我从函数中的路由中提取值

@main.route('/follow/<user_id>')
@login_required
def follow_user(user_id):
    referrer = request.headers.get("Referer")

    target_user = User.query.get(user_id)

当我将 user_id 参数传递给查询时,它返回 None(如果我在其中手动输入用户 ID,它将返回正确的值)并且我需要一种方法来获取对所关注用户的引用。

任何帮助将不胜感激。

标签: pythonflasksqlalchemy

解决方案


如果这个片段真的完整......

@main.route('/follow/<user_id>')
@login_required
def follow_user(user_id):
    referrer = request.headers.get("Referer")

    target_user = User.query.get(user_id)

...然后你当然会得到一个None,因为你什么都不返回,而 Python 隐式返回 None。

例子

>>> def ret():
...     pass
... 
>>> None is ret()
True
>>> from dis import dis
>>> dis(ret)
  2           0 LOAD_CONST               0 (None)
              2 RETURN_VALUE

推荐阅读