Website using Python--what's best architecture? CGI?

Gilles Lenfant glenfant at
Fri Mar 14 23:25:08 CET 2003

"Chris" <bit_bucket5 at> a écrit dans le message de news:
fa7108b0.0303141255.7171e2b6 at
> I would like to create a commercial website using Python.  It seems
> that straight CGI would be the easiest option, but I'm wondering what
> its top capacity would be, and also what other options are commonly
> available for a website that I will be hosting through a commercial
> host.  Here are some specific questions:

CGI is for mainly static sites with some forms processing and low traffic.
For a highly dynamic site (data/objects driven browsing), you should
consider using another solution (Webware, Zope, Quixote...).

> 1. Is there any good ballpark figure on an upper limit of throughput
> for Python cgi pages that need to connect to mysql?  I realize this
> depends on many things, but I guess I am wondering if this is even a
> sane option for a "moderately busy" website where almost all pages
> will be dynamic and will need to create a db connection?  I'm thinking
> online store if that helps at all.

So, don't CGI ! Programming a CGI highly dynamic site is a hassle, even with
the help of a templating or HTML generator package (like HTMLGen and
In addition, playing with CGI means creating a new DB connector for each
request when (most) Web application servers handle open DB connections pools
for you.

> 2. What are other options available via commercial hosts?  Is
> something like "mod_python" or "Webware" commonly available on
> commercial hosts (I know nothing much about either one, btw)?  Or some
> of the other Python web application frameworks I see mentioned?  Seems
> like a lot of these would require that you own the hosting machine and
> have total control over it, which wouldn't be an option here.

There are free and commercial Zope hostings. Perhaps for other Python based
Web frameworks too.

Start from

> Any words of advice appreciated.  I really would like to develop it in
> Python and don't want to go down a path that is unrealistic.
> -Chris

More information about the Python-list mailing list