I only use 2 because it's there :-) Thinking more about it, it
occurs to me that python expressions in TALES provide a huge hole
in the separation of presentation from logic.
My view is that embedding logic in presentation isn't quite the right thing to avoid. Consider how much "logic" goes into presenting HTML on the client side. Yet browsers can't perform all of the logic, so some presentation logic has to exist on the server side.
Instead, two things are important: distinguishing presentation from the model and keeping syntax simple. Python expressions in templates rarely violate the first principle because they are not part of the model. (Contrast this with PHP, where the model exists only in the presentation.) Complex expressions violate the second principle because the syntax becomes unwieldy.
Jean Jordaan wrote:
Perhaps it's worthwhile for this thread to have a look at http://www.eby-sarna.com/pipermail/transwarp/2003-July/000606.html
and following to see what Phillip Eby is cooking up.
The templates he proposes have only two or three attributes, keeping logic rigorously out of the template.
I like the idea. It's a novel approach. It may be oversimplifying, though, and the danger of oversimplifying is that some other part acquires extra complexity to compensate. For example, if we were to ban Python expressions outright in ZPT, it would become necessary to compensate by writing at least one Python script per template that used to have expressions. In a product I'm maintaining for a customer, that would be a very big burden.
Zope-Dev maillist - [EMAIL PROTECTED]
** No cross posts or HTML encoding! **
(Related lists - http://mail.zope.org/mailman/listinfo/zope-announce