Differences between revisions 10 and 11
Revision 10 as of 2007-06-06 17:29:27
Size: 8630
Editor: ZoomQuiet
Comment:
Revision 11 as of 2007-06-06 17:33:57
Size: 10236
Editor: fantasysoft
Comment:
Deletions are marked like this. Additions are marked like this.
Line 16: Line 16:
===  Part I: TurboGears Fundamentals ===
 * ["/chapter1"] Introduction to TurboGears
  * ["/section
1.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 I: TurboGears Fundamentals 第一部分:TurboGears基础知识===
 * ["/chapter1"] Introduction to TurboGears  第1章 TurboGears简介
  * ["/section
1.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起步
  * ["/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 应用程序的架构
  * ["/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 小结
Line 40: Line 40:
===  Part II: Building a Simple TurboGears Application ===
 * ["/chapter4"] Creating a Simple Application
  * ["/section
4.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 II: Building a Simple TurboGears Application 第二部分: 构建简单的TurboGears应用程序===
 * ["/chapter4"] Creating a Simple Application 第4章 创建简单的应用程序
  * ["/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)应用程序
  * ["/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 小结
Line 54: Line 54:
===  Part III: Exploring a Real World TurboGears Application === === Part III: Exploring a Real World TurboGears Application ===
Line 79: Line 79:
===  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 IV: SQLObject and TurboGears Models 第四部分 SQLObject与TurboGears模型 ===
 * ["/chapter10"] SQLObject Basics 第10章 SQLObject基础
  * ["/section10.1"] ORM Basics ORM基础
  * ["/section10.2"] Basic SQLObject Features  SQLObject的基本特性
  * ["/section10.3"] Simple Database Queries 简单数据库查询
  * ["/section10.4"] Summary 小结
 * ["/chapter11"] Mastering SQLObject 第11章 精通SQLObject
  * ["/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 自定义SQLObject的功能
  * ["/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 小结
Line 98: Line 98:
===  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
===Part V: TurboGears View Technologies  第五部分 TurboGears视图技术===
 * ["/chapter13"] Dynamic Templates with Kid 第13章 使用Kid实现动态模板
  * ["/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 小结
Line 128: Line 128:
  Part VI: CherryPy and TurboGears Controller Technologies   
===
Part VI: CherryPy and TurboGears Controller Technologies ===

http://www.turbogearsbook.com/images/thumbs/cover.jpg

Include(/abt)

TableOfContents

  • ["/Copyright"]
  • ["/Praise"] for Rapid Web Applications with TurboGears

  • ["/Prentice"] Hall Open Source Software Development Series
  • ["/Preface"]
  • ["/Acknowledgments"]

=== Part I: TurboGears Fundamentals 第一部分:TurboGears基础知识===

  • ["/chapter1"] Introduction to TurboGears 第1章 TurboGears简介

  • ["/chapter2"] Getting Started with TurboGears 第2章 TurboGears起步

    • ["/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 应用程序的架构

    • ["/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 了解CherryPyTurboGears控制器

    • ["/section3.5"] Understanding Kid and TurboGears Views 了解Kid和TurboGears视图

    • ["/section3.6"] MVC Meets Ajax MVC遇到了Ajax
    • ["/section3.7"] Summary 小结

=== Part II: Building a Simple TurboGears Application 第二部分: 构建简单的TurboGears应用程序===

  • ["/chapter4"] Creating a Simple Application 第4章 创建简单的应用程序
    • ["/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)应用程序
    • ["/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 小结

1. 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
    • ["/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

2. Part IV: SQLObject and TurboGears Models 第四部分 SQLObject与TurboGears模型

  • ["/chapter10"] SQLObject Basics 第10章 SQLObject基础
    • ["/section10.1"] ORM Basics ORM基础
    • ["/section10.2"] Basic SQLObject Features SQLObject的基本特性
    • ["/section10.3"] Simple Database Queries 简单数据库查询
    • ["/section10.4"] Summary 小结
  • ["/chapter11"] Mastering SQLObject 第11章 精通SQLObject
    • ["/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 自定义SQLObject的功能
    • ["/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 小结

===Part V: TurboGears View Technologies 第五部分 TurboGears视图技术===

  • ["/chapter13"] Dynamic Templates with Kid 第13章 使用Kid实现动态模板
    • ["/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

3. 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

4. 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

5. 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

RapidWebAppWithTurboGears/book (last edited 2009-12-25 07:17:45 by localhost)