迁移现有的 Pylons 应用程序

有两种方法可以将 Pylons 应用程序移植到 Pyramid 。一种是从头开始,在 Pyramid 中表达应用程序的行为。模型、模板和静态文件等许多方面都可以不变地使用,或者基本上是不变的。其他方面,如控制器和全局变量,必须重写。路由映射可以移植到新的语法,或者您可以借此机会重新构造路由。

另一种方法是一次移植一个URL,让 Pyramid 服务于移植的URL,而 Pylons 服务于未移植的URL。有几种方法可以做到这一点:

  • 在Apache中运行pyramid和python应用程序,并使用mod_rewrite将不同的URL发送到不同的应用程序。

  • 设置 paste.cascade 在ini文件中,以便它首先尝试一个应用程序,然后在URL返回“未找到”时尝试另一个应用程序。(这就是 Pylons 如何处理静态文件。)

  • 在 Pyramid 视图中包装 Pylons 应用程序。见 Pyramid 。

也看到 将应用程序移植到 Pyramid 说明手册中的部分。

*注意:*同时运行 Pyramid 和Palpon应用程序可能会带来一些棘手的问题,如编纂数据库连接、会话、数据文件等。这些超出了本指南的范围。

您还必须选择是用python 2还是3编写 Pyramid 应用程序。 Pyramid 1.3运行在python 3上,以及mako和sqlacalchemy,以及服务生和cherrypyHTTP服务器(但不是pastehttpserver)。但并非所有可选库都已移植,您的应用程序可能依赖于尚未移植的库。