On 7/1/13 1:00 PM,Phil Mayers <p.mayers(a)imperial.ac.uk> wrote:
> > I'm a newbie to Python, but not programming. However, my problem is
> > replacing an antiquated web-based classroom-attendance oriented
> > software app.
If you are looking at python, you have a lot of choices.
The first choice is which database to use, object-oriented, or relational.
If you choose relational, then django is the mainstream choice.
If you choose object oriented, then you can consider ZODB. It stores a
persistent network of objects. Which leads to either the Zope 3 /
ZTFY.org web framework, or else
pyramid. Pyramid is good for simpler applications, as they get more
complicated, I would recommend ztfy.org. and wiki.ztfy.org
Better yet, just get a complete school application at
built on top of zope 3, very easy to make any customizations you want,
that is the greatest strength of Zope 3.
I'm playing with klein for a simple rest API (because I like the
When a method raises an exception, a traceback gets logged twice - once
by the t.web Request.processingFailed, called from here:
...and once by the deferred garbage collection, as
Request.processingFailed doesn't eat the deferred:
Obviously this double-traceback thing is hugely irritating. Who is at
fault here? Is t.web doing the right thing by returning the failure from
processingFailed, or is klein doing the wrong thing, either by using the
(undocumented) processingFailed or omitting an errback further down the
Obviously there's no way for *me* to add an errback - klein generates
the deferred for me.