[Tutor] Database driven web sites with python

Charlie Clark charlie@begeistert.org
Sat Jan 18 13:14:01 2003


Hi Danny,

I'll go along with most of of what Magnus says, as usual: listen to him.

On 2003-01-18 at 18:00:06 [+0100], tutor@python.org wrote:
> One tool that I like is CherryPy, http://www.cherrypy.org/ . It fits my 
> brain. It contains the stuff I need, and it restricts itself to web 
> stuff. I don't like tools that try to be everything at once, but prefer a 
> layered approach. It also wants to have a long running process though.
I've just looked at some of the CherryPy documentation. I don't think it 
would be for me (too much code mixed in the HTML) which isn't to say its 
bad!!!
 
> ZOPE, http://www.zope.org/ , as Bob mentioned is a big system for 
> creating dynamic web content. Too big, some may say. Actually, you might 
> work a long time in Zope without ever writing a line of python code... It 
> *is* intented to be usable for non-programmers, but there is a lot of 
> zopeish things to learn, so in addition to python, there are a lot of 
> other things to think about. Also, the things you create such as layout, 
> access rules, page structures etc are stored in Zope's builtin object 
> database. This means that you can't use standard stuff file handling 
> tools as grep and find to search for things in your application. 
> Personally I don't like this--I get a little lost, just as when I develop 
> things in tools like Excel or Visual Basic. I want everything to be plain 
> code in text files. On the other hand, there is not other tool that will 
> give you as many features for free as Zope does. It really has an amazing 
> amount of modules and features. If your system is to grow big, you might 
> have to develop a lot of these things on your own if you don't use Zope.

Definitely agree with this. Zope really is big and for lots of things 
*great*. You can get up and running quickly, there are all kinds of modules 
to use and there is a big and supportive user community. But... once you 
start to do more adventurous things Zope starts to get more complex and you 
have to start going through the source to find out what you have to change. 
It seems to be standard practice to have to extend things at some point but 
I think this applies to all systems.

Marcus' objection about storage is now only partly true. You can now have 
stuff saved in files or CVS though none of the solutions are entirely 
stable. I really like being able (re)organise parts of the site as it 
develops: Zope is quite nice when you change things and I've become a big 
fan of PageTemplates. But it has all taken time. Expect to need about 6 
weeks before feeling comfortable with Zope because it is an application 
server and can be compared with the big boys. If you enjoy working on 
source then you might enjoy joining in Zope 3 development which is going to 
tidy up a lot of the things that have been put in over time.

You might also want to look at the eGenix Web Application server. 
http://www.egenix.com/
It has rock-solid database support and a nice approach to embedding Python 
code in HTML and will have excellent web service support.

Charlie