我正在创建一个将websocket消息转换为服务器的AJAX请求的应用程序。主要是基于Pyramid已经拥有一个良好的URL调度系统这一事实,并且不使用它是愚蠢的。
问题是,是否有一种简单的方法可以将金字塔中的URL(可能是一个实例化的Request对象)分配给它的视图可调用,获取视图可调用?或者至少得到与请求相关的视图可调用的输出?
我已经尝试过“prequest.py”中的脚本,该脚本基本上模拟了整个HTTP客户端,并为您提供响应(我仍然没有设法让它工作,但无论如何看看源代码都是有意义的)我不知道我喜欢那样做。
答案 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分派,参数传递,补间。