使用 Twisted 框架进行网络编程,第 3 部分
2008-11-13 13:13:08 来源:WEB开发网与我们在前面两个部分所看到的一些导入不同,我将字段名称映射到它们在 log_fields() 返回的元组中的位置。还请注意自定义 persist 模块的使用,该模块将在 Twisted Web 服务器的内存中保存 weblog,所以不必在每次客户端请求记录时都读取整个日记文件。接下来介绍 HTML 模板:
清单 2. config_refresher.py 脚本 (模板)
TOP = '''<html><head><title>Weblog Refresher</title>
<META HTTP-EQUIV="Refresh" CONTENT="30"/></head>
<body>
<table border="1" width="100%%">
<tr bgcolor="yellow">
<form action="http://gnosis.cx:8080/config_refresher.rpy"
method="GET">
<td> IP <input type="checkbox" name="ip" %s/> </td>
<td> Timestamp <input type="checkbox" name="timestamp" %s/></td>
<td> Request <input type="checkbox" name="request" %s/></td>
<td> Status <input type="checkbox" name="status" %s/></td>
<td> Bytes <input type="checkbox" name="bytes" %s/></td>
<td> Referrer <input type="checkbox" name="referrer" %s/></td>
<td> Agent <input type="checkbox" name="agent" %s/></td>
<td> <input type="submit" value="Change Fields"></td>
</form>
</td></tr>
<table border="0" cellspacing="0" width="100%%">'''
ROW = '<tr bgcolor=" %s">%s</tr>n'
END = '</table></body></html>'
COLOR = ['white','lightgray']
END = '''</table></body></html>'''
更多精彩
赞助商链接