Size: 8527
Comment:
|
Size: 12023
Comment: 删除对PageComment2组件的引用
|
Deletions are marked like this. | Additions are marked like this. |
Line 9: | Line 9: |
Copyright Praise for Rapid Web Applications with TurboGears Prentice Hall Open Source Software Development Series Preface Acknowledgments Part I: TurboGears Fundamentals * [/chapter1] . Introduction to TurboGears * [/section1.1] . Why TurboGears? * [/section1.2] . The History of TurboGears * [/section1.3] . TurboGears, Ajax, and Web 2.0 * [/section1.4] . Why TurboGears Values Being "Pythonic" * [/section1.5] . What Can You Do with TurboGears? * [/section1.6] . Coming Soon to a TurboGears Near You * [/section1.7] . Summary * [/chapter2] . Getting Started with TurboGears * [/section2.1] . Installing TurboGears and SQLite * [/section2.2] . Creating a Hello World Application * [/section2.3] . Say Hi! (Simple Template) * [/section2.4] . Custom Greetings (Hello from the Controller) * [/section2.5] . Summary * [/chapter3] . The Architecture of a TurboGears Application * [/section3.1] . What Is MVC? * [/section3.2] . Design Patterns and Object-Oriented MVC * [/section3.3] . Understanding SQLObject and TurboGears Models * [/section3.4] . Understanding CherryPy and TurboGears Controllers * [/section3.5] . Understanding Kid and TurboGears Views * [/section3.6] . MVC Meets Ajax * [/section3.7] . Summary Part II: Building a Simple TurboGears Application * [/chapter4] . Creating a Simple Application * [/section4.1] . Building a Simple Bookmark Collection Site * [/section4.2] . Testing TurboGears Applications * [/section4.3] . A Simple Form to Add Bookmark * [/section4.4] . Summary * [/chapter5] . Enhancing Our Bookmark Application * [/section5.1] . Updating Our Model * [/section5.2] . Listing by Category * [/section5.3] . Updating Our Form * [/section5.4] . Tying Everything Together * [/section5.5] . Selecting Categories * [/section5.6] . Summary Part III: Exploring a Real World TurboGears Application * [/chapter6] . Exploring More Complex Models in WhatWhat Status * [/section6.1] . What Is WhatWhat Status? * [/section6.2] . Logging in and Using WhatWhat Status * [/section6.3] . Exploring the WhatWhat Status Model * [/section6.4] . Writing Better Model Classes * [/section6.5] . Summary * [/chapter7] . Controllers, Views, and JavaScript in the WhatWhat Status * [/section7.1] . Dashboard Controller * [/section7.2] . Dashboard Templates * [/section7.3] . Adding a New Project * [/section7.4] . Dashboard Controller new_project * [/section7.5] . Summary * [/chapter8] . RSS, Cookies, and Dynamic Views in WhatWhat Status * [/section8.1] . Cookies and RecentChanges * [/section8.2] . The Recent Changes Template * [/section] 8.3. WhatWhat Status Widgets * [/section] 8.4. Easy RSS with FeedController * [/section] 8.5. Summary * [/chapter9] . Ajax and WhatWhat Status Projects * [/section9.1] . Handling Ajax Requests * [/section9.2] . Digging Into the Project Controller Methods * [/section9.3] . A First Look at project.kid * [/section9.4] . Summary Part IV: SQLObject and TurboGears Models * [/chapter10] . SQLObject Basics * [/section10.1] . ORM Basics * [/section10.2] . Basic SQLObject Features * [/section10.3] . Simple Database Queries * [/section10.4] . Summary * [/chapter11] . Mastering SQLObject * [/section11.1] . Mapping Relationships * [/section11.2] . Straight SQL Queries * [/section11.3] . Smart Queries * [/section11.4] . Working with Large Result Sets * [/section11.5] . Summary * [/chapter12] . Customizing SQLObject Behavior * [/section12.1] . Customizing SQLObject Classes with sqlmeta * [/section12.2] . More-Advanced SQLObject Customization * [/section12.3] . SQLObject and Inheritance * [/section12.4] . SQLObject and Transactions * [/section12.5] . Summary Part V: TurboGears View Technologies * [/chapter13] . Dynamic Templates with Kid * [/section13.1] . Creating Dynamic Templates with Kid * [/section13.2] . Beyond the Basics: Keeping Your Templates DRY (Don't Repeat Yourself) * [/section13.3] . Bringing It All Together * [/section13.4] . Summary * [/chapter14] . Creating Better JavaScript with MochiKit * [/section14.1] . How to Use This Chapter * [/section14.2] . Introduction to MochiKit and Its Interactive Shell * [/section14.3] . Base Functions * [/section14.4] . Iterators in JavaScript * [/section14.5] . The Document Object Model * [/section14.6] . Using MochiKit.Logging to Debug * [/section14.7] . Working with Color * [/section14.8] . String Conversions and Value Formatting * [/section14.9] . Summary * [/chapter15] . Effective Ajax with MochiKit * [/section15.1] . Handling Asynchronous EventsIncluding Ajax Requests * [/section15.2] . Handling JavaScript Events with MochiKit.Signal * [/section15.3] . Visual Effects for That "Wow Factor" * [/section15.4] . Summary * [/chapter16] . TurboGears Widgets: Bringing CSS, XHTML, and JavaScript Together in Reusable Components * [/section16.1] . Understanding Widgets * [/section16.2] . Form Widgets * [/section16.3] . Compound Widgets * [/section16.4] . Widgets and Validation * [/section16.5] . CSS, JavaScript, and Widgets * [/section16.6] . Creating Custom Widgets * [/section16.7] . Anatomy of an Ajax Widget * [/section16.8] . Summary Part VI: CherryPy and TurboGears Controller Technologies * [/chapter17] . CherryPy and TurboGears Decorators * [/section17.1] . CherryPy URL Parsing * [/section17.2] . CherryPy and the HTTP Request/Response Cycle * [/section17.3] . CherryPy Filters * [/section17.4] . CherryPy and TurboGears Configuration * [/section17.5] . Decorators * [/section17.6] . Error and Exception Handling * [/section17.7] . RESTful Resources in TurboGears * [/section17.8] . Summary * [/chapter18] . TurboGears Deployment * [/section18.1] . Choosing Your Production Environment * [/section18.2] . Using mod_rewrite or mod_proxy to Connect to CherryPy * [/section18.3] . Running CherryPy on mod_python * [/section18.4] . Other Ways of Running CherryPy behind a Web Server * [/section18.5] . Scalability of Your Site * [/section18.6] . Summary Part VII: TurboGears Extras * [/chapter19] . The TurboGears Toolbox and Other Tools * [/section19.1] . Toolbox Overview * [/section19.2] . ModelDesigner * [/section19.3] . CatWalk * [/section19.4] . WebConsole * [/section19.5] . Widget Browser * [/section19.6] . Admi18n and System Info * [/section19.7] . The tg-admin Command * [/section19.8] . Other TurboGears Tools * [/section19.9] . Summary * [/chapter20] . Internationalization * [/section20.1] . Dealing with Unicode in Python * [/section20.2] . Dealing with Unicode in TurboGears * [/section20.3] . Translating Your Application * [/section20.4] . Summary * [/chapter21] . Testing a TurboGears Application * [/section21.1] . Nose * [/section21.2] . TurboGears testutil * [/section21.3] . Mechanize * [/section21.4] . Selenium * [/section21.5] . Summary * [/chapter22] . TurboGears Identity and Security * [/section22.1] . Basic Authentication/Authorization with Identity * [/section22.2] . Validating User Access with Identity * [/section22.3] . Avoiding Common Security Pitfalls * [/section22.4] . Summary Part VIII: Appendix Appendix A. SQLAlchemy * [/sectionA.1] . A Quick Tour of SQLAlchemy * [/sectionA.2.] SQLAlchemy in TurboGears * [/sectionA.3] . Data Mapper and Active Record * [/sectionA.4] . More about ActiveMapper * [/sectionA.5] . How Objects Are Cached in SQLAlchemy * [/sectionA.6.] Should I Use SQLAlchemy or SQLObject? * [/sectionA.7] . Migrating a Project to SQLAlchemy * [/sectionA.8] . Deployment Configuration * [/sectionA.9] . Application Configuration * [/sectionA.10] . Class Definitions * [/sectionA.11] . Changing Calls to byName Methods * [/sectionA.12] . Updating Queries * [/sectionA.13] . Final Thoughts |
* ["/Copyright"] * ["/Praise"] for Rapid Web Applications with TurboGears * ["/Prentice"] Hall Open Source Software Development Series * ["/Preface"] * ["/Acknowledgments"] === 第一部分 TurboGears基础知识 === ''Part I: TurboGears Fundamentals '' * ["/chapter1"] Introduction to TurboGears '''第1章 TurboGears简介''' -- Fantasysoft 100% * ["/section1.1"] Why TurboGears? '''为什么选择TurboGears?''' * ["/section1.2"] The History of TurboGears '''TurboGears的历史''' * ["/section1.3"] TurboGears, Ajax, and Web 2.0 '''TurboGears、Ajax和Web 2.0''' * ["/section1.4"] Why TurboGears Values Being "Pythonic" '''为什么TurboGears称得上是Pythonic?''' * ["/section1.5"] What Can You Do with TurboGears? '''你可以使用TurboGears做什么?''' * ["/section1.6"] Coming Soon to a TurboGears Near You '''TurboGears即将为你带来的新功能''' * ["/section1.7"] Summary '''小结''' * ["/chapter2"] Getting Started with TurboGears '''第2章 TurboGears起步''' -- Fantasysoft 100% * ["/section2.1"] Installing TurboGears and SQLite '''安装TurboGears和SQLite''' * ["/section2.2"] Creating a Hello World Application '''创建“Hello World”应用程序''' * ["/section2.3"] Say Hi! (Simple Template) '''说声“Hi! ”(使用简单模板)''' * ["/section2.4"] Custom Greetings (Hello from the Controller) '''自定义问候语(来自控制器的问候)''' * ["/section2.5"] Summary '''小结''' * ["/chapter3"] The Architecture of a TurboGears Application '''第3章 TurboGears 应用程序的架构''' -- Fantasysoft 100% * ["/section3.1"] What Is MVC? '''什么是MVC?''' * ["/section3.2"] Design Patterns and Object-Oriented MVC '''设计模式和面向对象MVC''' * ["/section3.3"] Understanding SQLObject and TurboGears Models '''理解SQLObject和TurboGears模型''' * ["/section3.4"] Understanding CherryPy and TurboGears Controllers '''理解CherryPy和TurboGears控制器''' * ["/section3.5"] Understanding Kid and TurboGears Views '''理解Kid和TurboGears视图''' * ["/section3.6"] MVC Meets Ajax '''MVC遇到了Ajax''' * ["/section3.7"] Summary '''小结''' === 第二部分 构建简单的TurboGears应用程序 === ''Part II: Building a Simple TurboGears Application '' * ["/chapter4"] Creating a Simple Application '''第4章 创建简单的应用程序''' -- Fantasysoft 100% * ["/section4.1"] Building a Simple Bookmark Collection Site '''构建简单的书签收藏站点''' * ["/section4.2"] Testing TurboGears Applications '''测试TurboGears应用程序''' * ["/section4.3"] A Simple Form to Add Bookmark '''用于增加书签的简单表单''' * ["/section4.4"] Summary '''小结''' * ["/chapter5"] Enhancing Our Bookmark Application '''第5章 增强我们的书签(Bookmark)应用程序''' -- Fantasysoft 100% * ["/section5.1"] Updating Our Model '''更新我们的模型''' * ["/section5.2"] Listing by Category '''根据分类列出书签''' * ["/section5.3"] Updating Our Form '''更新我们的表单''' * ["/section5.4"] Tying Everything Together '''将所有部分融为一体''' * ["/section5.5"] Selecting Categories '''选择类别''' * ["/section5.6"] Summary '''小结''' === 第三部分 探究现实世界的TurboGears应用程序 === ''Part III: Exploring a Real World TurboGears Application '' * ["/chapter6"] Exploring More Complex Models in WhatWhat Status '''第6章 在WhatWhat Status中探究更加复杂的模型''' -- Fantasysoft/andelf 100% * ["/section6.1"] What Is WhatWhat Status? '''WhatWhat Status是什么?''' * ["/section6.2"] Logging in and Using WhatWhat Status '''登陆并且使用WhatWhat Status''' * ["/section6.3"] Exploring the WhatWhat Status Model '''探索WhatWhat Status的数据库模型''' * ["/section6.4"] Writing Better Model Classes '''设计更好的数据库模型类''' * ["/section6.5"] Summary '''小结''' * ["/chapter7"] Controllers, Views, and JavaScript in the WhatWhat Status '''WhatWhat Status中的控制器,视图和JavaScript''' -- andelf 0% * ["/section7.1"] Dashboard Controller '''Dashboard控制器''' * ["/section7.2"] Dashboard Templates '''Dashboard模板''' * ["/section7.3"] Adding a New Project '''添加新项目''' * ["/section7.4"] Dashboard Controller new_project '''Dashboard控制器对new_project的显示''' * ["/section7.5"] Summary '''小结''' * ["/chapter8"] RSS, Cookies, and Dynamic Views in WhatWhat Status '''WhatWhat Status中的RSS, Cookies和动态视图''' * ["/section8.1"] Cookies and RecentChanges '''Cookies和 最近更新''' * ["/section8.2"] The Recent Changes Template '''最近更新模板''' * ["/section8.3"] WhatWhat Status Widgets '''WhatWhat Status Widgets''' * ["/section8.4"] Easy RSS with FeedController '''使用FeedController生成RSS''' * ["/section8.5"] Summary '''小结''' * ["/chapter9"] Ajax and WhatWhat Status Projects '''Ajax 和 WhatWhat Status项目''' * ["/section9.1"] Handling Ajax Requests '''处理Ajax请求''' * ["/section9.2"] Digging Into the Project Controller Methods '''深入项目控制器中的方法''' * ["/section9.3"] A First Look at project.kid '''分析project.kid''' * ["/section9.4"] Summary '''小结''' === 第四部分 SQLObject与TurboGears模型 === ''Part IV: SQLObject and TurboGears Models '' * ["/chapter10"] SQLObject Basics '''第10章 SQLObject基础''' -- Fantasysoft 100% * ["/section10.1"] ORM Basics '''ORM基础''' * ["/section10.2"] Basic SQLObject Features '''SQLObject的基本特性''' * ["/section10.3"] Simple Database Queries '''简单数据库查询''' * ["/section10.4"] Summary '''小结''' * ["/chapter11"] Mastering SQLObject '''第11章 精通SQLObject''' -- Fantasysoft 100% * ["/section11.1"] Mapping Relationships '''关联映射''' * ["/section11.2"] Straight SQL Queries '''直接的SQL查询''' * ["/section11.3"] Smart Queries '''智能查询''' * ["/section11.4"] Working with Large Result Sets '''操作大型数据结果集''' * ["/section11.5"] Summary '''小结''' * ["/chapter12"] Customizing SQLObject Behavior '''第12章 自定义SQLObject的功能''' -- Fantasysoft 100% * ["/section12.1"] Customizing SQLObject Classes with sqlmeta '''使用sqlmeta自定义SQLObject类''' * ["/section12.2"] More-Advanced SQLObject Customization '''更多SQLObject的高级自定义''' * ["/section12.3"] SQLObject and Inheritance '''SQLObject 和继承''' * ["/section12.4"] SQLObject and Transactions '''SQLObject和事务''' * ["/section12.5"] Summary '''小结''' === 第五部分 TurboGears视图技术 === ''Part V: TurboGears View Technologies '' * ["/chapter13"] Dynamic Templates with Kid '''第13章 使用Kid实现动态模板''' -- Fantasysoft 100% * ["/section13.1"] Creating Dynamic Templates with Kid '''使用Kid创建动态模板''' * ["/section13.2"] Beyond the Basics: Keeping Your Templates DRY (Don't Repeat Yourself) '''超越基础:让你的模板保持DRY(Don't Repeat Yourself)''' * ["/section13.3"] Bringing It All Together '''融会贯通''' * ["/section13.4"] Summary '''小结''' * ["/chapter14"] Creating Better JavaScript with MochiKit * ["/section14.1"] How to Use This Chapter * ["/section14.2"] Introduction to MochiKit and Its Interactive Shell * ["/section14.3"] Base Functions * ["/section14.4"] Iterators in JavaScript * ["/section14.5"] The Document Object Model * ["/section14.6"] Using MochiKit.Logging to Debug * ["/section14.7"] Working with Color * ["/section14.8"] String Conversions and Value Formatting * ["/section14.9"] Summary * ["/chapter15"] Effective Ajax with MochiKit * ["/section15.1"] Handling Asynchronous EventsIncluding Ajax Requests * ["/section15.2"] Handling JavaScript Events with MochiKit.Signal * ["/section15.3"] Visual Effects for That "Wow Factor" * ["/section15.4"] Summary * ["/chapter16"] TurboGears Widgets: Bringing CSS, XHTML, and JavaScript Together in Reusable Components * ["/section16.1"] Understanding Widgets * ["/section16.2"] Form Widgets * ["/section16.3"] Compound Widgets * ["/section16.4"] Widgets and Validation * ["/section16.5"] CSS, JavaScript, and Widgets * ["/section16.6"] Creating Custom Widgets * ["/section16.7"] Anatomy of an Ajax Widget * ["/section16.8"] Summary === 第六部分 CherryPy 和 TG控制器技术 === ''Part VI: CherryPy and TurboGears Controller Technologies'' * ["/chapter17"] CherryPy 及 TurboGears 修饰器 -- ZoomQuiet;100% * ["/section17.1"] CherryPy URL 处理 -- ZoomQuiet;100% * ["/section17.2"] CherryPy 与HTTP 请求/响应循环 -- ZoomQuiet;100% * ["/section17.3"] CherryPy 过滤器 -- ZoomQuiet;95% `on the way out`什么意思? * ["/section17.4"] CherryPy 和 TurboGears 配置 -- ZoomQuiet;100% * ["/section17.5"] 修饰器 -- ZoomQuiet;100% * ["/section17.6"] 错误及异常句柄 -- ZoomQuiet;98% (`underlying generic function` 是指 什么??) * ["/section17.7"] TurboGears中的 REST样环境 -- ZoomQuiet;100%(放弃了部分唠叨) * ["/section17.8"] 小结 -- ZoomQuiet;95% `什么是 repeating boilerplate code??` * ["/chapter18"] 部署TurboGears -- ZoomQuiet:100% * ["/section18.1"] Choosing Your Production Environment * ["/section18.2"] Using mod_rewrite or mod_proxy to Connect to CherryPy * ["/section18.3"] Running CherryPy on mod_python * ["/section18.4"] Other Ways of Running CherryPy behind a Web Server * ["/section18.5"] Scalability of Your Site * ["/section18.6"] Summary === 第七部分 TurboGears附加内容 === ''Part VII: TurboGears Extras'' * ["/chapter19"] The TurboGears Toolbox and Other Tools * ["/section19.1"] Toolbox Overview * ["/section19.2"] ModelDesigner * ["/section19.3"] CatWalk * ["/section19.4"] WebConsole * ["/section19.5"] Widget Browser * ["/section19.6"] Admi18n and System Info * ["/section19.7"] The tg-admin Command * ["/section19.8"] Other TurboGears Tools * ["/section19.9"] Summary * ["/chapter20"] Internationalization * ["/section20.1"] Dealing with Unicode in Python * ["/section20.2"] Dealing with Unicode in TurboGears * ["/section20.3"] Translating Your Application * ["/section20.4"] Summary * ["/chapter21"] Testing a TurboGears Application * ["/section21.1"] Nose * ["/section21.2"] TurboGears testutil * ["/section21.3"] Mechanize * ["/section21.4"] Selenium * ["/section21.5"] Summary * ["/chapter22"] TurboGears Identity and Security * ["/section22.1"] Basic Authentication/Authorization with Identity * ["/section22.2"] Validating User Access with Identity * ["/section22.3"] Avoiding Common Security Pitfalls * ["/section22.4"] Summary === 第八部分 附录 === '''Appendix A. SQLAlchemy''' -- Fred Lin 5% * ["/sectionA.1"] A Quick Tour of SQLAlchemy * ["/sectionA.2"] SQLAlchemy in TurboGears * ["/sectionA.3"] Data Mapper and Active Record * ["/sectionA.4"] More about ActiveMapper * ["/sectionA.5"] How Objects Are Cached in SQLAlchemy * ["/sectionA.6"] Should I Use SQLAlchemy or SQLObject? * ["/sectionA.7"] Migrating a Project to SQLAlchemy * ["/sectionA.8"] Deployment Configuration * ["/sectionA.9"] Application Configuration * ["/sectionA.10"] Class Definitions * ["/sectionA.11"] Changing Calls to byName Methods * ["/sectionA.12"] Updating Queries * ["/sectionA.13"] Final Thoughts |
Line 185: | Line 202: |
[[PageComment2]] |
- ["/Copyright"]
["/Praise"] for Rapid Web Applications with TurboGears
- ["/Prentice"] Hall Open Source Software Development Series
- ["/Preface"]
- ["/Acknowledgments"]
1. 第一部分 TurboGears基础知识
Part I: TurboGears Fundamentals
["/chapter1"] Introduction to TurboGears 第1章 TurboGears简介 -- Fantasysoft 100%
["/section1.1"] Why TurboGears? 为什么选择TurboGears?
["/section1.2"] The History of TurboGears TurboGears的历史
["/section1.3"] TurboGears, Ajax, and Web 2.0 TurboGears、Ajax和Web 2.0
["/section1.4"] Why TurboGears Values Being "Pythonic" 为什么TurboGears称得上是Pythonic?
["/section1.5"] What Can You Do with TurboGears? 你可以使用TurboGears做什么?
["/section1.6"] Coming Soon to a TurboGears Near You TurboGears即将为你带来的新功能
["/section1.7"] Summary 小结
["/chapter2"] Getting Started with TurboGears 第2章 TurboGears起步 -- Fantasysoft 100%
["/section2.1"] Installing TurboGears and SQLite 安装TurboGears和SQLite
["/section2.2"] Creating a Hello World Application 创建“Hello World”应用程序
["/section2.3"] Say Hi! (Simple Template) 说声“Hi! ”(使用简单模板)
["/section2.4"] Custom Greetings (Hello from the Controller) 自定义问候语(来自控制器的问候)
["/section2.5"] Summary 小结
["/chapter3"] The Architecture of a TurboGears Application 第3章 TurboGears 应用程序的架构 -- Fantasysoft 100%
["/section3.1"] What Is MVC? 什么是MVC?
["/section3.2"] Design Patterns and Object-Oriented MVC 设计模式和面向对象MVC
["/section3.3"] Understanding SQLObject and TurboGears Models 理解SQLObject和TurboGears模型
["/section3.4"] Understanding CherryPy and TurboGears Controllers 理解CherryPy和TurboGears控制器
["/section3.5"] Understanding Kid and TurboGears Views 理解Kid和TurboGears视图
["/section3.6"] MVC Meets Ajax MVC遇到了Ajax
["/section3.7"] Summary 小结
2. 第二部分 构建简单的TurboGears应用程序
Part II: Building a Simple TurboGears Application
["/chapter4"] Creating a Simple Application 第4章 创建简单的应用程序 -- Fantasysoft 100%
["/section4.1"] Building a Simple Bookmark Collection Site 构建简单的书签收藏站点
["/section4.2"] Testing TurboGears Applications 测试TurboGears应用程序
["/section4.3"] A Simple Form to Add Bookmark 用于增加书签的简单表单
["/section4.4"] Summary 小结
["/chapter5"] Enhancing Our Bookmark Application 第5章 增强我们的书签(Bookmark)应用程序 -- Fantasysoft 100%
["/section5.1"] Updating Our Model 更新我们的模型
["/section5.2"] Listing by Category 根据分类列出书签
["/section5.3"] Updating Our Form 更新我们的表单
["/section5.4"] Tying Everything Together 将所有部分融为一体
["/section5.5"] Selecting Categories 选择类别
["/section5.6"] Summary 小结
3. 第三部分 探究现实世界的TurboGears应用程序
Part III: Exploring a Real World TurboGears Application
["/chapter6"] Exploring More Complex Models in WhatWhat Status 第6章 在WhatWhat Status中探究更加复杂的模型 -- Fantasysoft/andelf 100%
["/chapter7"] Controllers, Views, and JavaScript in the WhatWhat Status WhatWhat Status中的控制器,视图和JavaScript -- andelf 0%
["/section7.1"] Dashboard Controller Dashboard控制器
["/section7.2"] Dashboard Templates Dashboard模板
["/section7.3"] Adding a New Project 添加新项目
["/section7.4"] Dashboard Controller new_project Dashboard控制器对new_project的显示
["/section7.5"] Summary 小结
["/chapter8"] RSS, Cookies, and Dynamic Views in WhatWhat Status WhatWhat Status中的RSS, Cookies和动态视图
["/section8.1"] Cookies and RecentChanges Cookies和 最近更新
["/section8.2"] The Recent Changes Template 最近更新模板
["/section8.3"] WhatWhat Status Widgets WhatWhat Status Widgets
["/section8.4"] Easy RSS with FeedController 使用FeedController生成RSS
["/section8.5"] Summary 小结
["/chapter9"] Ajax and WhatWhat Status Projects Ajax 和 WhatWhat Status项目
["/section9.1"] Handling Ajax Requests 处理Ajax请求
["/section9.2"] Digging Into the Project Controller Methods 深入项目控制器中的方法
["/section9.3"] A First Look at project.kid 分析project.kid
["/section9.4"] Summary 小结
4. 第四部分 SQLObject与TurboGears模型
Part IV: SQLObject and TurboGears Models
["/chapter10"] SQLObject Basics 第10章 SQLObject基础 -- Fantasysoft 100%
["/section10.1"] ORM Basics ORM基础
["/section10.2"] Basic SQLObject Features SQLObject的基本特性
["/section10.3"] Simple Database Queries 简单数据库查询
["/section10.4"] Summary 小结
["/chapter11"] Mastering SQLObject 第11章 精通SQLObject -- Fantasysoft 100%
["/section11.1"] Mapping Relationships 关联映射
["/section11.2"] Straight SQL Queries 直接的SQL查询
["/section11.3"] Smart Queries 智能查询
["/section11.4"] Working with Large Result Sets 操作大型数据结果集
["/section11.5"] Summary 小结
["/chapter12"] Customizing SQLObject Behavior 第12章 自定义SQLObject的功能 -- Fantasysoft 100%
["/section12.1"] Customizing SQLObject Classes with sqlmeta 使用sqlmeta自定义SQLObject类
["/section12.2"] More-Advanced SQLObject Customization 更多SQLObject的高级自定义
["/section12.3"] SQLObject and Inheritance SQLObject 和继承
["/section12.4"] SQLObject and Transactions SQLObject和事务
["/section12.5"] Summary 小结
5. 第五部分 TurboGears视图技术
Part V: TurboGears View Technologies
["/chapter13"] Dynamic Templates with Kid 第13章 使用Kid实现动态模板 -- Fantasysoft 100%
["/section13.1"] Creating Dynamic Templates with Kid 使用Kid创建动态模板
["/section13.2"] Beyond the Basics: Keeping Your Templates DRY (Don't Repeat Yourself) 超越基础:让你的模板保持DRY(Don't Repeat Yourself)
["/section13.3"] Bringing It All Together 融会贯通
["/section13.4"] Summary 小结
["/chapter14"] Creating Better JavaScript with MochiKit
- ["/section14.1"] How to Use This Chapter
["/section14.2"] Introduction to MochiKit and Its Interactive Shell
- ["/section14.3"] Base Functions
["/section14.4"] Iterators in JavaScript
- ["/section14.5"] The Document Object Model
["/section14.6"] Using MochiKit.Logging to Debug
- ["/section14.7"] Working with Color
- ["/section14.8"] String Conversions and Value Formatting
- ["/section14.9"] Summary
["/chapter15"] Effective Ajax with MochiKit
["/section15.1"] Handling Asynchronous EventsIncluding Ajax Requests
["/section15.2"] Handling JavaScript Events with MochiKit.Signal
- ["/section15.3"] Visual Effects for That "Wow Factor"
- ["/section15.4"] Summary
["/chapter16"] TurboGears Widgets: Bringing CSS, XHTML, and JavaScript Together in Reusable Components
- ["/section16.1"] Understanding Widgets
- ["/section16.2"] Form Widgets
- ["/section16.3"] Compound Widgets
- ["/section16.4"] Widgets and Validation
["/section16.5"] CSS, JavaScript, and Widgets
- ["/section16.6"] Creating Custom Widgets
- ["/section16.7"] Anatomy of an Ajax Widget
- ["/section16.8"] Summary
6. 第六部分 CherryPy 和 TG控制器技术
Part VI: CherryPy and TurboGears Controller Technologies
["/chapter17"] CherryPy 及 TurboGears 修饰器 -- ZoomQuiet;100%
["/section17.3"] CherryPy 过滤器 -- ZoomQuiet;95% on the way out什么意思?
["/section17.4"] CherryPy 和 TurboGears 配置 -- ZoomQuiet;100%
["/section17.5"] 修饰器 -- ZoomQuiet;100%
["/section17.6"] 错误及异常句柄 -- ZoomQuiet;98% (underlying generic function 是指 什么??)
["/section17.7"] TurboGears中的 REST样环境 -- ZoomQuiet;100%(放弃了部分唠叨)
["/section17.8"] 小结 -- ZoomQuiet;95% 什么是 repeating boilerplate code??
["/chapter18"] 部署TurboGears -- ZoomQuiet:100%
- ["/section18.1"] Choosing Your Production Environment
["/section18.2"] Using mod_rewrite or mod_proxy to Connect to CherryPy
["/section18.3"] Running CherryPy on mod_python
["/section18.4"] Other Ways of Running CherryPy behind a Web Server
- ["/section18.5"] Scalability of Your Site
- ["/section18.6"] Summary
7. 第七部分 TurboGears附加内容
Part VII: TurboGears Extras
["/chapter19"] The TurboGears Toolbox and Other Tools
- ["/section19.1"] Toolbox Overview
["/section19.2"] ModelDesigner
["/section19.3"] CatWalk
["/section19.4"] WebConsole
- ["/section19.5"] Widget Browser
- ["/section19.6"] Admi18n and System Info
- ["/section19.7"] The tg-admin Command
["/section19.8"] Other TurboGears Tools
- ["/section19.9"] Summary
- ["/chapter20"] Internationalization
- ["/section20.1"] Dealing with Unicode in Python
["/section20.2"] Dealing with Unicode in TurboGears
- ["/section20.3"] Translating Your Application
- ["/section20.4"] Summary
["/chapter21"] Testing a TurboGears Application
- ["/section21.1"] Nose
["/section21.2"] TurboGears testutil
- ["/section21.3"] Mechanize
- ["/section21.4"] Selenium
- ["/section21.5"] Summary
["/chapter22"] TurboGears Identity and Security
- ["/section22.1"] Basic Authentication/Authorization with Identity
- ["/section22.2"] Validating User Access with Identity
- ["/section22.3"] Avoiding Common Security Pitfalls
- ["/section22.4"] Summary
8. 第八部分 附录
Appendix A. SQLAlchemy -- Fred Lin 5%
- ["/sectionA.1"] A Quick Tour of SQLAlchemy
["/sectionA.2"] SQLAlchemy in TurboGears
- ["/sectionA.3"] Data Mapper and Active Record
["/sectionA.4"] More about ActiveMapper
- ["/sectionA.5"] How Objects Are Cached in SQLAlchemy
- ["/sectionA.6"] Should I Use SQLAlchemy or SQLObject?
- ["/sectionA.7"] Migrating a Project to SQLAlchemy
- ["/sectionA.8"] Deployment Configuration
- ["/sectionA.9"] Application Configuration
- ["/sectionA.10"] Class Definitions
- ["/sectionA.11"] Changing Calls to byName Methods
- ["/sectionA.12"] Updating Queries
- ["/sectionA.13"] Final Thoughts
::-- ZoomQuiet [DateTime(2007-06-06T16:40:46Z)] 反馈