WebAlchemy is a very fast static cache for Django:
With WebAlchemy only pages involved in form processing are served directly by Django, the rest of the pages most of the time are served directly by Apache as static content with static content speed.
Basically it stores the request result in a static file and then creates an Apache .htaccess file to include a mod_rewrite rule with precedence over the dynamic mod_python call. In a recent post the author compares it with StaticGenerator, another, much simpler static cache with a similar static behavior but a different approach for marking and selecting cached requests.
The main problem with both of them is that only the response body is cached. Headers, and most importantly, the Content-Type header, are not preserved. It is Apache or the frontend server who decides what is the Content-Type for cached requests, by looking at the extension of the file and matching it to its configured MIME type database, and by properly configuring the valid index file name. For example StaticGenerator just names every cached request as index.html.
