获取由其路径(请求上下文)调用的金字塔视图

时间:2013-02-05 12:19:16

标签: python url pyramid

我正在创建一个将websocket消息转换为服务器的AJAX请求的应用程序。主要是基于Pyramid已经拥有一个良好的URL调度系统这一事实,并且不使用它是愚蠢的。

问题是,是否有一种简单的方法可以将金字塔中的URL(可能是一个实例化的Request对象)分配给它的视图可调用,获取视图可调用?或者至少得到与请求相关的视图可调用的输出?

我已经尝试过“prequest.py”中的脚本,该脚本基本上模拟了整个HTTP客户端,并为您提供响应(我仍然没有设法让它工作,但无论如何看看源代码都是有意义的)我不知道我喜欢那样做。

2 个答案:

答案 0 :(得分:2)

您可以重用pview命令中的代码将路径转换为视图引用:

from pyramid.scripts.pviews import PViewsCommand

pvcomm = PViewsCommand([])
view = pvcomm._find_view(path, request.registry)

执行此操作的实际代码有点牵扯,但PViewsCommand已经为我们完成了所有工作。

答案 1 :(得分:0)

我已经设法在最新版本的Pyramid(1.4a1)中使用Router.invoke_subrequest来完成它。

这将启用与路由相关的所有功能。 URL分派,参数传递,补间。

您可以在此处阅读:http://docs.pylonsproject.org/projects/pyramid/en/latest/api/request.html#pyramid.request.Request.invoke_subrequest