python - 如何从烧瓶中的 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,它将返回正确的值)并且我需要一种方法来获取对所关注用户的引用。
任何帮助将不胜感激。
解决方案
如果这个片段真的完整......
@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
推荐阅读
- google-play - 您的请求失败。使用其他付款方式,或联系我们。了解更多 [OR-CCSEH-21]
- javascript - 仅当第一张幻灯片处于活动状态时才使按钮处于活动状态 - Swiper 滑块
- jquery - 这个用于简单日期选择器的 jQuery 脚本缺少什么?
- swiftui - SwiftUI:未找到 Y 类型的 ObservableObject,其中 Y 是 ObservableObject 的子类
- machine-learning - 我可以使用什么工具来标记带有 True/False 的图像?
- java - 是否可以以编程方式设置 logback 配置?
- java - 未能参加新活动
- python - 多线程时如何在python中重新打印行
- javascript - 有没有办法将 json 保存到文件并使用浏览器 javascript 读取/更新同一文件?
- ruby-on-rails - 如何将多行代码复制到 byebug 中?