1

我正在制作一个应用程序,它将 websocket 消息转换为对服务器的 AJAX 请求。这个决定主要是基于 Pyramid 已经有一个很好的 URL 调度系统,不使用它是愚蠢的。

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

我已经尝试了来自“prequest.py”的脚本,它基本上模拟了一个完整的 HTTP 客户端并给你响应(我仍然没有设法让它工作,但无论如何查看源代码是有意义的),我不喜欢那样做。

4

2 回答 2

2

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

from pyramid.scripts.pviews import PViewsCommand

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

执行此操作的实际代码有点复杂,但PViewsCommand它已经为我们完成了这一切。

于 2013-02-05T16:34:33.090 回答
0

我已经设法在最新版本的 Pyramid (1.4a1) 中使用 Router.invoke_subrequest 来做到这一点。

这启用了与路由相关的所有功能。URL 调度、参数传递、补间。

你可以在这里阅读:http: //docs.pylonsproject.org/projects/pyramid/en/latest/api/request.html#pyramid.request.Request.invoke_subrequest

于 2013-02-08T13:38:21.333 回答