Pyramid:如何在视图中获取所有应用的路由?
我想查看我应用程序中的所有路由,并把它们以键值对的形式返回。
'route1' => '{foo:\w+}'
'route2' => '{baz:\w+\d+}'
... and so on
但是我不知道怎么在我的视图中获取这些路由。例如,这是我的视图。我想让它返回一个路由的映射。我这样做:
@view_config(route_name='route1')
def someView(request):
routes = request.registry.settings.getRoutes() ## what should I print here to get a map of routes?
r = ''
for k,v in sorted(routes.items()):
r += str(k) + "=>" + str(v) + "<br/>";
return Response(r)
有一个叫做 RoutesConfiguratorMixin
的类,它里面有一个 get_routes_mapper
方法。我试着导入这个类并调用它的方法,但出现了一个错误,提示它的实例中没有 registry
:
from pyramid.config.routes import RoutesConfiguratorMixin as Router
r = Router();
routes = r.get_routes_mapper();
## ... and the same code as above
这样不行。