分类: Python/Ruby
2007-07-16 10:59:34
使用 Twisted 框架进行网络编程,第 3 部分有状态 Web 服务器和模板化 |
级别: 初级 David Mertz (), 程序员,博士, Gnosis Software, Inc. 2003 年 9 月 14 日 在本系列的前一部分中,David介绍了一些较高级别的用于编写 Web 服务的技术,包括使用 .rpy 扩展名来提供动态页面。在这一部分中,他将介绍动态Web 服务,以及如何使用 Woven 应用来为模板化页面生成动态 Web 页面。 在本系列的 第 2 部分 中,我介绍了 Twisted 使用 .rpy 扩展名提供的动态 Web 页面。但是 weblog 服务器的这些初始版本只能提供最低限度的动态。我使用了 HTML 标记来强迫页面周期性地刷新,并且每执行一次刷新,都要进行一些计算,以确定相应的最近更新。但是没有提到服务器的用户配置方面。 因此,本文将要介绍的第一件事就是,如何在我们上次看到过的同一基本动态页面框架中配置用户交互。但是在开始之前,我将为那些没有阅读本系列前两个部分的读者快速回顾一下如何启动 Twisted Web 服务器。 创建一个 “精简的应用程序” 通常是最好的方法,并且这完全可以利用命令行选项来完成。但不是说 必须这样做。只要您愿意,也可以在基本的 Web 服务器中包含一些额外的功能(比如跨用户和会话维护持久性数据),却不必编写任何自定义代码。创建精简的应用程序的方法类似于:
利用下面的命令启动该应用程序:
就是这样的。碰巧在 ~/twisted/www 基本目录(或子目录)中的任何 HTML 或 .rpy 文件将为端口 8080 上的客户端服务。实际上,您可以提供任何您喜欢的文件类型,只是 .rpy 文件将被看作是特殊的动态脚本。 动态页面 config_refresher.rpy 比本系列前一部分给出的任何页面要稍微长一些,因为它在主体中包含了 HTML 模板而不是导入模板。我们首先来看设置代码:
与我们在前面两个部分所看到的一些导入不同,我将字段名称映射到它们在
|