Xen*_*non 3 python bottle python-3.x
我在BottlePy中有以下钩子:
@bottle_app.hook('before_request')
def update_session():
# do stuff
return
Run Code Online (Sandbox Code Playgroud)
还有一些路线:
@bottle_app.route('/')
def index():
return render('index')
@bottle_app.route('/example')
def example():
return render('example')
Run Code Online (Sandbox Code Playgroud)
从内部update_session(),我如何确定调用哪条路线?
我查看了文档无济于事,但这肯定有可能吗?
请求同时包含a bottle.route和a route.handle条目,两者都包含相同的值:
from bottle import request
print request['bottle.route']
Run Code Online (Sandbox Code Playgroud)
这没有记录; 我不得不在bottle.py源头找到它.值是一个Route实例; 它有一个.name和一个.rule属性,您可以检查以确定匹配的路线.
if request['bottle.route'].rule == '/':
# matched the `/` route.
Run Code Online (Sandbox Code Playgroud)
对于您的具体示例,这可能是过度的,因为您只匹配简单路径,但对于具有正则表达式规则的更复杂规则,这比尝试匹配request.path属性更有效(但最好给出您的路由name值).
| 归档时间: |
|
| 查看次数: |
808 次 |
| 最近记录: |