我在
BottlePy中有以下钩子:
@bottle_app.hook('before_request') def update_session(): # do stuff return
还有一些路线:
@bottle_app.route('/') def index(): return render('index') @bottle_app.route('/example') def example(): return render('example')
在update_session()中,如何确定调用哪条路由?
我查看了文档无济于事,但这肯定有可能吗?
解决方法
请求同时包含bottle.route和route.handle条目,两者都包含相同的值:
from bottle import request print request['bottle.route']
这没有记录;我必须找到它in the bottle.py
source.值是一个Route实例;它具有.name和.rule属性,您可以检查以确定匹配的路由.
if request['bottle.route'].rule == '/': # matched the `/` route.
对于您的具体示例,这可能是过度的,因为您只匹配简单路径,但对于具有正则表达式规则的更复杂规则,这比尝试匹配request.path属性更好(但是给出它是个好主意)你的路线名称值).
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。