WEB开发网
开发学院软件开发Python 使用 Twisted 框架进行网络编程,第 3 部分 阅读

使用 Twisted 框架进行网络编程,第 3 部分

 2008-11-13 13:13:08 来源:WEB开发网   
核心提示:与 Web 浏览器交互在本系列的 第 2 部分 中,我介绍了 Twisted 使用 .rpy 扩展名提供的动态 Web 页面,使用 Twisted 框架进行网络编程,第 3 部分,但是 weblog 服务器的这些初始版本只能提供最低限度的动态,我使用了 HTML 标记来强迫页面周期性地刷新,只是 .rpy 文件将被看作

与 Web 浏览器交互

在本系列的 第 2 部分 中,我介绍了 Twisted 使用 .rpy 扩展名提供的动态 Web 页面。但是 weblog 服务器的这些初始版本只能提供最低限度的动态。我使用了 HTML 标记来强迫页面周期性地刷新,并且每执行一次刷新,都要进行一些计算,以确定相应的最近更新。但是没有提到服务器的用户配置方面。

因此,本文将要介绍的第一件事就是,如何在我们上次看到过的同一基本动态页面框架中配置用户交互。但是在开始之前,我将为那些没有阅读本系列前两个部分的读者快速回顾一下如何启动 Twisted Web 服务器。

创建一个 “精简的应用程序” 通常是最好的方法,并且这完全可以利用命令行选项来完成。但不是说 必须这样做。只要您愿意,也可以在基本的 Web 服务器中包含一些额外的功能(比如跨用户和会话维护持久性数据),却不必编写任何自定义代码。创建精简的应用程序的方法类似于:

mktap web --path ~/twisted/www --port 8080

利用下面的命令启动该应用程序:

twistd -f web.tap

就是这样的。碰巧在 ~/twisted/www 基本目录(或子目录)中的任何 HTML 或 .rpy 文件将为端口 8080 上的客户端服务。实际上,您可以提供任何您喜欢的文件类型,只是 .rpy 文件将被看作是特殊的动态脚本。

动态页面 config_refresher.rpy 比本系列前一部分给出的任何页面要稍微长一些,因为它在主体中包含了 HTML 模板而不是导入模板。我们首先来看设置代码:

清单 1. 动态脚本 config _refresher.py (设置)

from twisted.web import resource, server
from persist import Records
from webloglib import log_fields, COLOR
from urllib import unquote_plus as uqp
fieldnames = """ip timestamp request status
        bytes referrer agent""".split()
field_dict = dict(zip(fieldnames, range(len(fieldnames))))

1 2 3 4 5 6  下一页

Tags:使用 Twisted 框架

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接