【文件属性】:
文件名称:CherryPy Essentials - Rapid Python Web Application Development (2007).pdf
文件大小:5.46MB
文件格式:PDF
更新时间:2022-09-07 09:14:35
CherryPy Essentials Rapid Python Web
Over the last few years, the boom that the World has experienced with the Internet
breakthrough has pushed almost every programming language or platform to
welcome the rise of web development toolkits, libraries, and frameworks.
The Python programming language has grown a rather large list of these
environments though apart from a few of them such as Zope and Twisted most
have a fairly small community. It is in this context that CherryPy came into existence
when Rémi Delon, its creator, decided that he needed a tool that would work as
he wanted for his own personal projects. He then released CherryPy under a free
software license so that anyone could use, distribute, and contribute to the project.
CherryPy is a Python library implementing the HTTP protocol, which is at the very
core of the Web, using common Python idioms. On top of that CherryPy offers its
own view and concepts on how to help a developer to build web applications while
being minimally intrusive through its own simple and straightforward API.
This book will guide you through the CherryPy library with the aim of giving you
the key to make the best of it in your own web applications.
The first four chapters are dedicated to CherryPy, providing information ranging
from its history to an in-depth presentation of its key features. The rest of the book
will then take you into the development of a photoblog application. Each chapter
tries to provide enough background to allow you to ponder the why and how of
each decision made. Indeed writing software applications is not a precise science and
compromises need to be undertaken for the better, however, the truth is that writing
software usually does not go quite as planned. I have written this book with the hope
that in the end you would have learnt much more than using a Python library.
Preface
[ 2 ]
What This Book Covers
Chapter 1 presents the story behind CherryPy and a high-level overview of the project.
Chapter 2 guides you through the installation and deployment of CherryPy via
common strategies like using distutils, setuptools, or subversion.
Chapter 3 gives an overview of the main and the most common aspects of CherryPy,
which will give you an understanding of what the library can do.
Chapter 4 goes into an in-depth review of the main aspects of the library such as its
support for the HTTP protocol or the WSGI interface. It also extensively discusses the
tool feature of the CherryPy API.
Chapter 5 introduces the application, which will be the unifying theme for the rest of
the book. The chapter reviews the basic entities that the application will manipulate
before moving onto explaining how we will map them into a relational database.
This will allow us to explain the concept of ORM and perform a quick comparison
between SQLAlchemy, SQLObject, and Dejavu.
Chapter 6 presents the idea behind web services by reviewing REST and the Atom
Publishing Protocol.
Chapter 7 describes how to use a templating engine such as Kid to generate web
pages dynamically. The chapter also introduces Mochikit a JavaScript toolkit to
perform client-side development.
Chapter 8 extends chapter 7 by diving into the world of Ajax, which has reminded
web developers that they can create extremely powerful applications by simply
using the browser capabilities, the JavaScript language, and the HTTP protocol.
Chapter 9 makes a strong point that any application should be reasonably well tested
and introduces some testing strategies like unit testing, functional testing, and
load testing.
Chapter 10 ends the book by reviewing some methods to deploy a CherryPy
application under a common web-server front end like Apache and lighttpd. The
chapter also explains how to enable SSL from your CherryPy application.