0

我有一个用于“before_finalize”的工具挂钩设置,如下所示:

def before_finalize():
    d = cherrypy.response.body
    location = '%s/views' % cherrypy.request.app.config['/']['application_path']
    cherrypy.response.body = Template(file='%s/index.tmpl' % location).respond()

我需要做的是在那个钩子里面找出什么路由(我正在使用 RoutesDispatcher)让我们到达那个钩子,或者 URI 是什么,所以我可以根据它适当地找到我的模板。我怎样才能找到这些信息?

4

1 回答 1

0

cherrypy.url 将为您提供完整的 URI,但我怀疑这不是您要查找的内容……您为什么需要它?如果您尝试根据 URI 形成“位置”变量,您可能需要 path_info 而不是完整的 URI:

location = '%s/views' % request.app.config['/']['application_path']
if request.path_info.endswith('/'):
    fname = '%s%sindex.html' % (location, request.path_info)
else:
    fname = '%s%s.html' % (location, request.path_info)
于 2009-12-31T23:27:14.837 回答