Navigation

Table Of Contents

TurboGears 1.0 Documentation¶

This is the official TurboGears 1.0 documentation. If you don’t see what you’re looking for here, you might want to check out the API reference documentation.

If you’re new to TurboGears, you should check out the 20 Minute Wiki tutorial first.

Contents

  • TurboGears 1.0 Documentation
    • FAQ
    • Installation
    • Getting Started
    • Documentation by Components and Topics
    • Reference
    • Resources
    • Errors

FAQ¶

  • Frequently Asked Questions about TurboGears 1.0.

Installation¶

  • Installation Guide
  • Deployment
  • Database Installation

Getting Started¶

Architecture and Organization¶

  • The Big Picture

Screencasts¶

  • 20 Minute Wiki Screencast
  • Screencast Directory

Tutorials¶

Beginners

  • 20 Minute Wiki (updated text version of screencast)
  • Getting Started: Controller and Templating
  • Passing Arguments to the Controller
  • Data Model Overview
  • A Brief Introduction to Kid Templates
  • A Brief Introduction to MochiKit

Intermediate:

  • Getting Started With Identity
  • Introduction to Widgets
  • Simple Widget Form Tutorial
  • File Upload Tutorial
  • Multiuser Todo List Tutorial

Documentation by Components and Topics¶

Project Setup¶

  • The TurboGears Administration Tool: tg-admin
  • Quickstart Your Project
  • Starting Up The Server
  • Configuration
  • Creating Big Applications
  • Solving specific problems

Controller¶

  • URL Parsing and Argument Variables
  • Absolute URLs That Won’t Break
  • Getting Request and Response Information
  • Host Static Files
  • Store Information Client-side: Cookies
  • Store Information Server-side: Sessions
  • Generate RSS and Atom Feeds
  • Alternative Form Display and Action Pattern
  • Send Email: TurboMail
  • Create XML-RPC, SOAP and Other Web Services

Controller Decorators¶

  • @expose
  • @validate
  • @error_handler
  • @exception_handler
  • @identity.require
  • @paginate

View and Template¶

  • Standard Template Variables
  • Application-wide Headers and Footers
  • JSON: Returning Data for AJAX Requests
  • Designer Friendly Kid Templates
  • Using a Dummy Template for Debugging
  • Using HTML Entities in Kid Templates
  • Auto Checked Checkboxes and Radio Buttons
  • Bread Crumb Navigation
  • Putting Templates in Subdirectories
  • Using External Kid Templates
  • Genshi Internationalization with Babel
  • Tips for Working with Cheetah Templates

Model¶

  • Data Model Guide
  • Database Backends Available in TurboGears
  • The DB-URI
  • Overview of SQLObject
  • How to Use “tg-admin sql upgrade” With SQLObject
  • Using Your Model Outside of TurboGears applications
  • Using Multiple Databases with TurboGears
  • Auto-updating an Attribute with SQLObject
  • Debugging SQLObject SQL Queries
  • Dropping Down to Raw SQL With SQLObject
  • Using ForeignKeys in SQLObject
  • SQLObject Quick Guide
  • Avoiding SQL Reserved Words
  • SQLObject Caching
  • SQLObject “Gotcha” Hazard Warnings
  • Storing and Retrieving Data Blobs from Database
  • Views in SQLObject
  • Hibernate Compared to SQLObject
  • Configuration for SQLAlchemy

Widgets and Validation¶

  • Widgets Overview
  • Guide to the TurboGears Widgets Documentation
  • The Widget Browser
  • Dive Into Widgets
  • Creating a Widget Based Form
  • Widget Form Validation with Schemas
  • Changing Widget Defaults at Run Time
  • Dynamic Form Widgets with AJAX
  • DynamicValidation
  • Widget Packages
  • The Stateless Nature of Widgets
  • Specific Widgets:
    • Data Grid Widget
    • AJAX Grid Widget
    • Auto Complete Field
    • Remote Form Widget Tutorial
    • Remote Link AJAX wrapper Widget
    • Compound Widgets
    • Repeating Field Set
    • Calendar Date Picker Widget
    • Nicer Form Widgets
    • Fast Data Extension
    • Data Controller
  • Miscellaneous Widget Recipes
  • Miscellanetous Widget Tips and Tricks
  • Using ToscaWidgets

Visit and Identity¶

  • Using the Visit Framework
    • Extending the Visit Framework
    • User Tracked Logging
    • A Visit Plugin for Permanent Login
  • Identity Overview
    • Getting Started With Identity
    • Using Identity
    • Encrypted Passwords
    • Identity Recipes
  • User Registration and Maintenance with tg-registration
  • OpenID With Identity

Tests and Logging¶

  • Agile Testing: testutil and nosetests
  • Error Logging: The TurboGears Logging System
  • Custom Error Reporting

Debugging¶

  • Debugging a TurboGears Application
  • Using a Dummy Template for Debugging
  • Debugging SQLObject SQL Queries

Optimization¶

  • Optimizing a TurboGears Application
  • Caching Techniques
  • Using Content Compression
  • Improving Code Quality with PyLint

Developer Tools¶

  • Web-based Utilities: TurboGears ToolBox
    • Localize Strings: admi18n
    • Edit Data Models: Catwalk and FastData DataController
    • List Installed Packages: Version Info
    • Design Models: ModelDesigner
    • Interactive Console: Web-Based Console
    • Browse Widgets: Widget Browser
  • Integration with External Tools, Editors and IDEs
    • DreamWeaver
    • Vim
    • WingIDE

Other Topics and Recipes¶

  • Using Flash Notes
  • Automatic JSON Serialization
  • Internationalization
  • Some Tips for Using Non-ASCII characters
  • Handling Recurring Tasks: The TurboGears Scheduler
  • Custom Error Reporting
  • ZeroConf Support in TurboGears
  • Using the Startup Hook in TurboGears
  • Generating a Basic CRUD Interface with tgcrud
  • Creating RESTful URLs with TurboGears
  • RESTful Pagination Using the Paginate Decorator
  • Web Services with TGWebServices
  • Validating OAuth Signed Requests
  • Generating Graphs and Figures in TurboGears
  • File Upload and Download
  • Creating a File Upload Progress Bar
  • Using Non-Standard Components
  • Getting Started with Elixir
  • Using Routes with TurboGears
  • TurboGears Entry-Point Reference
  • Making Extensible Applications
  • TurboGears and MicroApps
  • Using Sphinx for Documentation
  • Saving Page Parameters with Cookie Defaults
  • Converting Between Cookie Types
  • Handling Extra Request Parameters with CherryPy Filters
  • Routing Requests According to HTTP Request Method
  • Creating Virtual Hosts with TurboGears
  • Genshi Rendering without using the expose decorator
  • Serving Dynamically Generated Files
  • Hybrid Nested Set Model for SQLObject
  • Connecting to MySQL via a socket file
  • Setting the selected option of a select list
  • Workarounds for using TurboGears with Dojo
  • Full Text Search with TurboLucene

Extending TurboGears¶

  • TurboGears Philosophy
  • Writing TurboGears Plugins
    • Writing a Template Plugin
    • Writing a tg-admin Command Plugins
    • Extending Quickstart
  • License

Reference¶

  • Standard Component Documentation Links
  • API Reference
  • Changelog
  • Index
  • Search Page

Books¶

  • Rapid Web Applications with TurboGears by Mark Ramm et al.
<">
gipoco.com is neither affiliated with the authors of this page nor responsible for its contents. This is a safe-cache copy of the original web site.