
第一部分 介绍Zope 1
第1章 Zope简介 3
1.1 Zope是什么 3
1.1.1 强大的协作 4
1.1.2 简单的内容管理 4
1.1.3 Web 组件 4
1.2 Zope 的历史 5
1.3 谁能从Zope中获益 5
1.4 你如何从Zope中获益 6
1.5 Zope给你什么 7
1.6 Zope 相关软件 7
1.7 Zope 社团 8
第2章 使用Zope 9
2.1 下载Zope 9
2.2 安装Zope 9
2.2.1 为Windows 安装Zope 9
2.2.2 下载Linux 和 Solaris 二进制文件 10
2.2.3 得到RPM和deb格式的Zope 10
2.2.4 从源码编译Zope 10
2.3 启动Zope 11
2.3.1 启动Windows上的Zope 11
2.3.2 启动UNIX上的Zope 11
2.4 登录 12
2.5 用管理界面控制Zope 12
2.5.1 使用导航栏 13
2.5.2 使用工作栏 13
2.6 理解Zope用户 14
2.6.1 创建用户 14
2.6.2 更换登录 15
2.7 理解Zope对象 15
2.7.1 创建对象 15
2.7.2 移动对象 17
2.8 撤消错误 18
2.8.1 撤消细节和注意事项 18
2.9 管理和监控Zope 19
2.10 使用帮助系统 20
2.10.1 浏览和搜索帮助 20
2.11 从Zope指南开始 21
第3章 使用基本Zope对象 22
3.1 使用Zope文件夹 22
3.1.1 管理文件夹内容 23
3.1.2 导入和导出对象 23
3.2 使用Zope文档 24
3.2.1 创建DTML文档 25
3.2.2 编辑DTML文档 25
3.2.3 回顾文档更改 29
3.2.4 观看DTML文档 30
3.3 使用Zope文件 31
3.3.1 上载文件 31
3.3.2 观看文件 32
3.4 使用Zope图像 32
3.4.1 使用HTML观看图像 32
3.4.2 通过Web观看图像 33
3.5 使用对象属性 33
3.6 用脚本编写逻辑代码 35
3.7 使用方法 36
3.7.1 比较DTML文档和方法 38
3.8 使用版本 39
3.9 缓存管理器 41
3.9.1 添加一个缓存管理器 42
3.9.2 缓存一个文档 42
3.10 虚拟主机对象 43
第4章 使用DTML动态生成内容 44
4.1 DTML适合谁 44
4.2 DTML适合做什么 44
4.3 何时不使用DTML 46
4.4 DTML 标记符句法 46
4.4.1 使用DTML标记符属性 47
4.5 用DTML插入变量 47
4.6 处理从表单输入的信息 48
4.7 动态地获取内容 50
4.8 通过DTML使用Python表达式 51
4.8.1 DTML表达式注意事项 52
4.9 var标记符 53
4.9.1 var标记符属性 53
4.9.2 var标记符实体句法 54
4.10 if标记符 54
4.10.1 名称句法和表达式句法的不同 55
4.10.2 else和elif标记符 55
4.10.3 通过if标记符使用Cookies 56
4.11 in 标记符 57
4.11.1 叠代文件夹内容 57
4.11.2 in标记符特殊变量 59
第5章 创建基本Zope应用程序 61
5.1 使用文件夹构建应用程序 61
5.1.1 用URL调用文件夹里的对象 61
5.1.2 特殊的文件夹对象-index_html 62
5.2 构建Zope动物园Web站点 62
5.2.1 动物园导航 62
5.2.2 给动物园添加一个首页 63
5.2.3 改进导航 65
5.2.4 提取出样式单 67
5.2.5 创建一个文件库 68
5.2.6 构建一个访客簿 70
5.2.7 扩展访客簿,生成XML 74
第二部分 使用Zope创建Web应用程序 77
第6章 用户和安全 79
6.1 介绍安全 79
6.1.1 登录和退出Zope 79
6.1.2 验证和授权 79
6.2 验证和管理用户 80
6.2.1 在用户文件夹中创建用户 80
6.2.2 编辑用户 81
6.2.3 定义用户位置 82
6.2.4 使用其他类型的用户文件夹 82
6.2.5 特殊用户账号 83
6.3 授权和管理安全 85
6.3.1 处理角色 86
6.3.2 定义角色 86
6.3.3 理解本地角色 86
6.3.4 理解许可 87
6.3.5 定义安全策略 87
6.3.6 安全策略获取 88
6.4 安全用法模式 89
6.4.1 重要安全准则 89
6.4.2 全局和本地策略 90
6.4.3 把控制委派给本地管理员 90
6.4.4 不同的角色访问层次 91
6.4.5 用角色控制访问位置 91
6.5 执行安全检查 92
6.6 高级安全专题:所有权和可执行内容 93
6.6.1 问题:特洛伊木马攻击 93
6.6.2 管理所有权 94
6.6.3 可执行内容的角色 94
6.6.4 代理角色 95
第7章 变量和高级DTML 97
7.1 变量如何被查找 98
7.2 DTML名称空间 98
7.2.1 DTML客户对象 99
7.2.2 DTML请求对象 100
7.2.3 变量 101
7.3 修改DTML名称空间 102
7.3.1 in标记符名称空间修改 102
7.3.2 with标记符 102
7.3.3 let标记符 104
7.4 DTML名称空间实用函数 104
7.5 DTML安全 106
7.5.1 安全脚本限制 106
7.6 高级DTML标记符 107
7.6.1 call标记符 107
7.6.2 comment 标记符 108
7.6.3 tree标记符 108
7.6.4 return标记符 111
7.6.5 sendmail 标记符 111
7.6.6 mime标记符 112
7.6.7 unless标记符 113
7.6.8 用in标记符进行成批处理 114
7.6.9 处理例外的标记符 116
第8章 高级Zope脚本 120
8.1 Zope脚本 120
8.2 调用脚本 120
8.2.1 从Web调用脚本 121
8.2.2 从其他对象调用脚本 122
8.2.3 给脚本传递参数 124
8.3 脚本安全 128
8.4 Zope API 128
8.5 使用基于Python的脚本 129
8.5.1 Python语言 129
8.5.2 创建基于Python的脚本 130
8.5.3 字符串处理 132
8.5.4 处理数学 132
8.5.5 绑定变量 133
8.5.6 打印语句支持 134
8.5.7 安全限制 135
8.5.8 内建函