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 に基づいて 'location' 変数を形成しようとしている場合は、おそらく完全な URI ではなく path_info が必要です。

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 に答える