Differences between revisions 2 and 8 (spanning 6 versions)
Revision 2 as of 2007-06-06 16:52:37
Size: 9221
Editor: ZoomQuiet
Comment:
Revision 8 as of 2007-06-06 17:11:12
Size: 8631
Editor: ZoomQuiet
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
 * ["/Copyright"]
 * ["/Praise"] for Rapid Web Applications with TurboGears
 * ["/Prentice"] Hall Open Source Software Development Series
 * ["/Preface"]
 * ["/Acknowledgments"]
Line 13: Line 16:
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
  
 
=== 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
Line 25: Line 98:
Table of Contents | Index === 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
Line 27: Line 174:
     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
=== 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

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"]

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

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

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

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

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

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

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