使用 Twisted 框架进行网络编程,第 3 部分
2008-11-13 13:13:08 来源:WEB开发网设置 HTML 表单并不太神秘,本例的一个技巧是在 HTML中将那些已经检查过的复选框中添加上字符串“checked”。
清单 3. config_refresher.py 脚本 (持久性)
records = registry.getComponent(Records)
if not records:
records = Records()
registry.setComponent(Records, records)
Twisted 注册表像本系列前一部分描述的那样工作。它就是保存 Web 日记文件中最新记录的地方。最后,我们创建一个 Resource ,带有一个相应的 .render() 方法——它完成真正的页面创建:
清单 4. config_refresher.py 脚本 (呈现)
class Resource(resource.Resource):
def render(self, request):
showlist = []
for field in request.args.keys():
showlist.append(field_dict[field])
showlist.sort()
checked = [""] * len(fieldnames)
for n in showlist:
checked[n] = 'checked'
request.write(TOP % tuple(checked))
odd = 0
for rec in records.getNew():
hit = [field.strip('"') for field in log_fields(rec)]
flds='n'.join(['<td>%s</td>'%hit[n] for n in showlist])
request.write(ROW % (COLOR[odd],
uqp(flds).replace('&&',' &')))
odd = not odd
request.write(END)
request.finish()
return server.NOT_DONE_YET
resource = Resource()
更多精彩
赞助商链接