One of the nicest things about Zope is its ability to separate an application's presentation layer from the business logic that drives it. It does this using its very own tag-based markup language, Document Template Markup Language or DTML.
What's DTML? Well, as the Zope Documentation Project at http://www.zope.org/Documentation/Guides/DTML-HTML/DTML.3.html puts it, it is "...a facility for generating textual information using a template document and application information stored in Zope. It is used in Zope primarily to generate Hypertext Markup Language (HTML) files, but it can also be used to create other types of textual information." Or, to put it in words you and I understand, DTML is HTML on steroids.
I don't say this lightly. After all, HTML is fairly popular by itself - it's the language used to mark up every Web page on the planet, and required study for any Web developer. But DTML is much more than plain-vanilla HTML - it's a proper programming language which comes with variables, loops and decision making constructs, together with string and math functions borrowed from Python. It's also fairly easy to use - as you'll see over the next few pages.
Before I begin, though, make sure that you have a working copy of Zope (this tutorial uses Zope 2.5.0), and can log into the Zope management interface. In case you can't, drop by http://www.zope.org/, get yourself set up and come back when you're ready to roll.