PacktLib: CherryPy Essentials: Rapid Python Web Application Development

CherryPy Essentials

Credits

About the Author

Acknowledgement

About the Reviewers

Preface

Introduction to CherryPy

Overview

History of CherryPy

The Community

CherryPy Project Strengths

Beyond CherryPy

Through the Book

Summary

Download and Install CherryPy

Requirements

Overview

Installation from a Tarball

Installation through Easy Install

Installation from Subversion

Testing your Installation

Keeping CherryPy Up to Date

Summary

Overview of CherryPy

Vocabulary

Basic Example

Built-In HTTP Server

Internal Engine

Configuration

Object Publisher Engine

Library

Tools

Error and Exception Handling

Summary

CherryPy in Depth

HTTP Compliance

Multiple HTTP Servers

Multi-Threaded Application Server

URI Dispatching

Hook into CherryPy's Core Engine

CherryPy Toolbox

Static Resource Serving

WSGI Support

Summary

A Photoblog Application

A Photoblog Application

Photoblog Entities

Vocabulary

DBMSes Overview

Object-Relational Mapping

Photoblog Application Entity Modeling

Querying Units

Extending the Data Access Layer

Summary

Web Services

Traditional Web Development

REST

Uniform Resource Identifier

HTTP Methods

Putting it Together

REST Interface through CherryPy

Atom Publishing Protocol

Atom XML-Document Format

APP Implementation

Summary

The Presentation Layer

HTML

XML

XHTML

CSS

DHTML

Templating

Kid—The Templating Engine

Photoblog Design Preparation

Photoblog Design in Detail

Mochikit

Developing the Photoblog Design

Summary

Ajax

Rise of the Rich-Client Applications

Ajax

JSON

Applying Ajax to our Application

Summary

Testing

Why Testing

Planning a Test

Common Testing Approach

Unit Testing

Unit Testing Web Applications

Performance and Load Testing

Functional Testing

Summary

Deployment

Configuration

Deployment

SSL

Summary

Index