Differences between revisions 1 and 4 (spanning 3 versions)
Revision 1 as of 2007-06-06 16:40:46
Size: 208
Editor: ZoomQuiet
Comment:
Revision 4 as of 2007-06-06 17:06:08
Size: 8527
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)]] ||
Line 8: 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

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

  • [/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
  • [/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
  • [/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
  • [/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

::-- ZoomQuiet [DateTime(2007-06-06T16:40:46Z)] 反馈 PageComment2

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