敏捷 Web 开发实践

—— pySvnManager 项目实战

修订历史
修订 0.2 2008/09/12 蒋鑫
随 Pylons 升级为 0.9.7,pySvnManager 升级为 0.3。修改 WebHelpers 以及 routing 等相关内容。
修订 0.1 2008/07/20 蒋鑫
创建。

摘要

敏捷也许就是保障项目成功的“银弹”。 笔者通过最近完成的一个小项目切身体验了一下 Python 语言在 Web 敏捷开发上的强大力量,愿与您共享。

(版本号: 0.2.008feb1,最后更新时间: 2008-09-13)


目录

1. 前言
1.1. 项目背景
1.2. 最终的实现
1.2.1. 软件安装
1.2.2. 网站部署
1.2.3. 配置
1.2.4. 运行应用
1.2.5. 软件截屏
2. 模型的敏捷开发
2.1. 迭代1:测试框架的建立
2.1.1. 假想任务目标
2.1.2. 建立测试用例
2.1.3. 编写模组,使测试用例通过
2.1.4. 完善测试用例
2.1.5. 用例管理和 nosetests
2.2. 持续迭代
2.3. 最终完成的 svnauthz
3. 华丽外衣——Pylons造
3.1. 建立 Web 应用框架
3.1.1. 理解控制器
3.1.2. 修改控制器映射
3.1.3. 加入模组和单元测试
3.2. 控制器check的实现
3.2.1. MVC中的数据流
3.2.2. 页面模板布局
3.2.3. 模板语法示例
3.2.4. 控制器的index方法
3.2.5. 控制器的submit方法
3.3. 用AJAX取代传统的form提交
3.3.1. 启用Prototype的JavaScript框架
3.3.2. 改造CGI(controller)
3.3.3. 页面模板充分利用DOM 和JavaScript
3.3.4. 改造示例一:用Ajax.Updater直接进行区域更新
3.3.5. 改造示例二:用Ajax.Request获取并处理数据
3.4. 控制器的单元测试
3.4.1. 配置nosetests
3.4.2. 测试示例一
3.4.3. 测试示例二
3.5. 实现其他的控制器
4. pySvnManager 本身的认证和授权
4.1. 为 BaseController 增加 __before__ 方法
4.2. 为控制器中增加授权
4.3. Security 控制器实现
4.4. pySvnManager 授权
4.5. 添加认证后的单元测试
5. 配置文件
5.1. Pylons的ini配置文件
5.2. localconfig.py
6. 国际化
6.1. 使用_()改写字符串输出
6.2. 根据浏览器喜好自动选择缺省语种
6.3. 本地化翻译
7. 软件集成
7.1. 设置 INI 文件模板
7.2. 应用部署的定制
7.3. 编辑版本号等信息
7.4. 编译
8. 开源项目提交
A. 参考资料