Here's a very simple example that illustrates some of Cheetah's basic syntax:
<HTML> <HEAD><TITLE>$title</TITLE></HEAD> <BODY> <TABLE> #for $client in $clients <TR> <TD>$client.surname, $client.firstname</TD> <TD><A HREF="mailto:$client.email">$client.email</A></TD> </TR> #end for </TABLE> </BODY> </HTML>
Compare this with PSP:
<HTML> <HEAD><TITLE><%=title%></TITLE></HEAD> <BODY> <TABLE> <% for client in clients: %> <TR> <TD><%=client['surname']%>, <%=client['firstname']%></TD> <TD><A HREF="mailto:<%=client['email']%>"><%=client['email']%></A></TD> </TR> <%end%> </TABLE> </BODY> </HTML>
Section 3.7 has a more typical example that shows how to get the plug-in values into Cheetah, and section 4.2 explains how to turn your template definition into an object-oriented Python module.