I remember Zope was pretty universally disliked by Python programmers. But it was for a time probably the most enterprisey thing with Python inside, so maybe it got more points in corporate places as something to try as an alternative to Enterprise Java Buzzwords.
Before Django there was a lot of choice and active libraries / frameworks for Python web app development, IME most apps gravitated more towards "ala carte" use of libraries than one size fits all frameworks, a bit like people do in Clojure today.
Zope was more like a ready to use CMS that incidentally enabled you to mod it using Python in a clunky way.
The object database part of Zope (ZODB) was pretty cool though, used separately (inside Zope the framework-enforced object schema made it just clunky). As long as you didn't let it spread too wide over your codebase. But it had transactions, flexibility of (and problems of...) schemaless, and replication, a long time before the "NoSQL" craze.
Replying to myself: for those interestedin ZODB, there's also a simpler standalone remake called Durus (by well known Pytoneer Neil Schemenauer): https://github.com/nascheme/durus
It might not have the replication / distributed features though.
I recall there being some 'wilderness years' between people generally deciding that Zope was a bad idea and Django 'winning'. I remember using frameworks like Turbogears and CherryPy for a while before Django and Flask split the 'market' between them.
This is how I was seeing things play out in the early 2000's:
— Python Programmers: why do we still have to be doing this in php/Perl/JSP/ASP when Python exists? — The World: here's Zope — Python Programmers: is that supposed to be joke?
Then in 2003 WSGI showed up and it was a matter of time, leading to the years of wilderness that you describe until Django won out. I confess that I was more team Pylons, but happily conceded.
Ah, Zope, that wonderful monstrosity. I build a purchase order system for my company in it back in the day. It made that type of business app very easy, as long as you didn't expect any kind of performance or scalability. The magic of Zodb was also its weakness. But even today, I think it would still be faster to develop a basic business app in Zope than in Django.
I remember being quite interested in zodb for app development in python since it alleviates the need for an orm... it is a bit like a document store, right?
Before Django there was a lot of choice and active libraries / frameworks for Python web app development, IME most apps gravitated more towards "ala carte" use of libraries than one size fits all frameworks, a bit like people do in Clojure today.
Zope was more like a ready to use CMS that incidentally enabled you to mod it using Python in a clunky way.
The object database part of Zope (ZODB) was pretty cool though, used separately (inside Zope the framework-enforced object schema made it just clunky). As long as you didn't let it spread too wide over your codebase. But it had transactions, flexibility of (and problems of...) schemaless, and replication, a long time before the "NoSQL" craze.