Size: 9221
Comment:
|
Size: 11074
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
||http://www.turbogearsbook.com/images/thumbs/cover.jpg ||[[Include(/abt)]] | ||http://www.turbogearsbook.com/images/thumbs/cover.jpg ||[[Include(/abt)]] || |
Line 9: | Line 10: |
Previous Page Next Page Book Cover Rapid Web Applications with TurboGears: Using Python to Create Ajax-Powered Sites By Mark Ramm, Kevin Dangoor, Gigi Sayfan ............................................... Publisher: Prentice Hall Pub Date: November 07, 2006 Print ISBN-10: 0-13-243388-5 Print ISBN-13: 978-0-13-243388-4 Pages: 504 Table of Contents | Index Copyright Praise for Rapid Web Applications with TurboGears Prentice Hall Open Source Software Development Series Preface Acknowledgments Part I: TurboGears Fundamentals Chapter 1. Introduction to TurboGears Section 1.1. Why TurboGears? Section 1.2. The History of TurboGears Section 1.3. TurboGears, Ajax, and Web 2.0 Section 1.4. Why TurboGears Values Being "Pythonic" Section 1.5. What Can You Do with TurboGears? Section 1.6. Coming Soon to a TurboGears Near You Section 1.7. Summary Chapter 2. Getting Started with TurboGears Section 2.1. Installing TurboGears and SQLite Section 2.2. Creating a Hello World Application Section 2.3. Say Hi! (Simple Template) Section 2.4. Custom Greetings (Hello from the Controller) Section 2.5. Summary Chapter 3. The Architecture of a TurboGears Application Section 3.1. What Is MVC? Section 3.2. Design Patterns and Object-Oriented MVC Section 3.3. Understanding SQLObject and TurboGears Models Section 3.4. Understanding CherryPy and TurboGears Controllers Section 3.5. Understanding Kid and TurboGears Views Section 3.6. MVC Meets Ajax Section 3.7. Summary Part II: Building a Simple TurboGears Application Chapter 4. Creating a Simple Application Section 4.1. Building a Simple Bookmark Collection Site Section 4.2. Testing TurboGears Applications Section 4.3. A Simple Form to Add Bookmark Section 4.4. Summary Chapter 5. Enhancing Our Bookmark Application Section 5.1. Updating Our Model Section 5.2. Listing by Category Section 5.3. Updating Our Form Section 5.4. Tying Everything Together Section 5.5. Selecting Categories Section 5.6. Summary Part III: Exploring a Real World TurboGears Application Chapter 6. Exploring More Complex Models in WhatWhat Status Section 6.1. What Is WhatWhat Status? Section 6.2. Logging in and Using WhatWhat Status Section 6.3. Exploring the WhatWhat Status Model Section 6.4. Writing Better Model Classes Section 6.5. Summary Chapter 7. Controllers, Views, and JavaScript in the WhatWhat Status Section 7.1. Dashboard Controller Section 7.2. Dashboard Templates Section 7.3. Adding a New Project Section 7.4. Dashboard Controller new_project Section 7.5. Summary Chapter 8. RSS, Cookies, and Dynamic Views in WhatWhat Status Section 8.1. Cookies and RecentChanges Section 8.2. The Recent Changes Template Section 8.3. WhatWhat Status Widgets Section 8.4. Easy RSS with FeedController Section 8.5. Summary Chapter 9. Ajax and WhatWhat Status Projects Section 9.1. Handling Ajax Requests Section 9.2. Digging Into the Project Controller Methods Section 9.3. A First Look at project.kid Section 9.4. Summary Part IV: SQLObject and TurboGears Models Chapter 10. SQLObject Basics Section 10.1. ORM Basics Section 10.2. Basic SQLObject Features Section 10.3. Simple Database Queries Section 10.4. Summary Chapter 11. Mastering SQLObject Section 11.1. Mapping Relationships Section 11.2. Straight SQL Queries Section 11.3. Smart Queries Section 11.4. Working with Large Result Sets Section 11.5. Summary Chapter 12. Customizing SQLObject Behavior Section 12.1. Customizing SQLObject Classes with sqlmeta Section 12.2. More-Advanced SQLObject Customization Section 12.3. SQLObject and Inheritance Section 12.4. SQLObject and Transactions Section 12.5. Summary Part V: TurboGears View Technologies Chapter 13. Dynamic Templates with Kid Section 13.1. Creating Dynamic Templates with Kid Section 13.2. Beyond the Basics: Keeping Your Templates DRY (Don't Repeat Yourself) Section 13.3. Bringing It All Together Section 13.4. Summary Chapter 14. Creating Better JavaScript with MochiKit Section 14.1. How to Use This Chapter Section 14.2. Introduction to MochiKit and Its Interactive Shell Section 14.3. Base Functions Section 14.4. Iterators in JavaScript Section 14.5. The Document Object Model Section 14.6. Using MochiKit.Logging to Debug Section 14.7. Working with Color Section 14.8. String Conversions and Value Formatting Section 14.9. Summary Chapter 15. Effective Ajax with MochiKit Section 15.1. Handling Asynchronous EventsIncluding Ajax Requests Section 15.2. Handling JavaScript Events with MochiKit.Signal Section 15.3. Visual Effects for That "Wow Factor" Section 15.4. Summary Chapter 16. TurboGears Widgets: Bringing CSS, XHTML, and JavaScript Together in Reusable Components Section 16.1. Understanding Widgets Section 16.2. Form Widgets Section 16.3. Compound Widgets Section 16.4. Widgets and Validation Section 16.5. CSS, JavaScript, and Widgets Section 16.6. Creating Custom Widgets Section 16.7. Anatomy of an Ajax Widget Section 16.8. Summary Part VI: CherryPy and TurboGears Controller Technologies Chapter 17. CherryPy and TurboGears Decorators Section 17.1. CherryPy URL Parsing Section 17.2. CherryPy and the HTTP Request/Response Cycle Section 17.3. CherryPy Filters Section 17.4. CherryPy and TurboGears Configuration Section 17.5. Decorators Section 17.6. Error and Exception Handling Section 17.7. RESTful Resources in TurboGears Section 17.8. Summary Chapter 18. TurboGears Deployment Section 18.1. Choosing Your Production Environment Section 18.2. Using mod_rewrite or mod_proxy to Connect to CherryPy Section 18.3. Running CherryPy on mod_python Section 18.4. Other Ways of Running CherryPy behind a Web Server Section 18.5. Scalability of Your Site Section 18.6. Summary Part VII: TurboGears Extras Chapter 19. The TurboGears Toolbox and Other Tools Section 19.1. Toolbox Overview Section 19.2. ModelDesigner Section 19.3. CatWalk Section 19.4. WebConsole Section 19.5. Widget Browser Section 19.6. Admi18n and System Info Section 19.7. The tg-admin Command Section 19.8. Other TurboGears Tools Section 19.9. Summary Chapter 20. Internationalization Section 20.1. Dealing with Unicode in Python Section 20.2. Dealing with Unicode in TurboGears Section 20.3. Translating Your Application Section 20.4. Summary Chapter 21. Testing a TurboGears Application Section 21.1. Nose Section 21.2. TurboGears testutil Section 21.3. Mechanize Section 21.4. Selenium Section 21.5. Summary Chapter 22. TurboGears Identity and Security Section 22.1. Basic Authentication/Authorization with Identity Section 22.2. Validating User Access with Identity Section 22.3. Avoiding Common Security Pitfalls Section 22.4. Summary Part VIII: Appendix Appendix A. SQLAlchemy Section A.1. A Quick Tour of SQLAlchemy Section A.2. SQLAlchemy in TurboGears Section A.3. Data Mapper and Active Record Section A.4. More about ActiveMapper Section A.5. How Objects Are Cached in SQLAlchemy Section A.6. Should I Use SQLAlchemy or SQLObject? Section A.7. Migrating a Project to SQLAlchemy Section A.8. Deployment Configuration Section A.9. Application Configuration Section A.10. Class Definitions Section A.11. Changing Calls to byName Methods Section A.12. Updating Queries Section A.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 15% * ["/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 * ["/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 * ["/section8.3"] WhatWhat Status Widgets * ["/section8.4"] Easy RSS with FeedController * ["/section8.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 === 第四部分 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 60% * ["/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 10% * ["/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"]
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 15%
["/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
["/section8.3"] WhatWhat Status Widgets
["/section8.4"] Easy RSS with FeedController
- ["/section8.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
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 60%
["/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 10%
["/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
7. 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. 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
::-- ZoomQuiet [DateTime(2007-06-06T16:40:46Z)] 反馈 PageComment2