In order to follow this tutorial and run the example, you will need to download and install the latest version of twisted from cvs. Also, as Twisted is on the bleeding edge of Python development, you should be running the latest official release from www.python.org.
Twisted is being aggressively developed and improvements and bugfixes are being made on a daily basis, so it would behoove you to have the latest copy. To download the source from anonymous cvs:
$ cvs -d:pserver:anon@cvs.twistedmatrix.com:/cvs login CVS Password: #(Just press enter) # NOTE: the -z6 is *IMPORTANT* as we're getting the server for free! $ cvs -z6 -d:pserver:anon@cvs.twistedmatrix.com:/cvs co Twisted
then run the install program
$ cd Twisted Twisted $ python2.3 setup.py install
Woven is a framework for building web applications using Python and the Twisted
framework. It is designed to allow a programmer to separate the web skinning
html, from the application logic. This has always been a problem when using JSP or ASP,
as careless web designers can easily break the logic that's co-mingled with the html.
Woven allows your web designers to design to their heart's content, and not worry about
breaking something important. Another goal of Woven is to allow pages to be
composable, large complex pages are able to be constructed out of many
small independent parts which have no knowledge of each other. This greatly improves
code-reuse, makes debugging simpler, and allows for a high degree of flexibility.
Woven is a nice way of building powerful web applications using Python, that integrate seamlessly with the Twisted web server.
Before you go through this tutorial, I highly recommend you read the Twisted Woven How-To, it was invaluable in writing this tutorial. It will explain some things in much more depth than I will cover here. It would also be of great use to you to know how the http protocol works, especially the request/response cycle.
The topic at hand is broad and deep, there's a lot in here to get familiar with and to understand. I'll be taking you through an example application, and I'll do my best to do it in a logical fashion. Before each section, I'll explain breifly the topics we'll cover, and give an overview of the program flow through the code we're going to be looking at. Then there'll be a code listing, and discussion about each method and what it does. The application will be available to you , so I reccomend that you play with it while reading this. Feel free to borrow and steal and improve from this source, it was written for your benefit, so make use of it.
next | prev | toc |