I use Spyce for a variety of complicated intranet apps for my day job.
Meanwhile I am playing with Django at home for prospective use for a
number of content-rich web applications. Both Spyce and Django have
non-trivial learning curves, but the documentation and community for
each is more than adequate to get you rolling.
The difference in my mind revolves around the auto-admin capabilities of
Django. In Django the assumption is that you are building SQL-based
tables that will be populated with a lot of content supplied by
non-techies. Furthermore you are prepared to spend some time using CSS
to make pristine web pages for public consumption. This is certainly
true for my home apps where I will have different people serving as
content editors and specifying the look and feel of the various sites
which are all posted on the internet (are therefore have to look great.)
The fact that Django automatically creates admin interfaces suitable for
non-techies to enter content is a huge win for this common scenario.
By contrast, my Spyce-based apps don't have to look great (although they
look fine anyway.) They have to perform a lot of complicated analysis
accurately and quickly and I have to be able to quickly revamp them to
meet new requirements. Persistent storage is not a huge concern and,
thus far, I have gotten away with using either pickled files or Durus
(an object oriented DB that is mentioned in the Spyce docs.) Evolving
SQL schema would be a major slowdown compared with this style of rapid
Recently I performed a successful experiment where I integrated an
alternative templating system with Django. I plan to try the same thing
with Spyce as the templating engine when I get a chance. The combination
might prove to be dazzling although I really don't have a project in
mind where I need that combination of capabilities.
Right now I am happy with both Spyce and Django and so you can chalk me
up as a member of the "right tool for the right job" camp.