If you're working with X[HT]ML, one of the tag-based templating systems that can leave you with well-formed templates is a good move. I use PXTL, FWIW. (It can produce other formats, but if your emphasis isn't XML or HTML it'd not be a sensible choice.)
I have an intense dislike for templating systems that claim to “help you separate business logic and presentation” by limiting expressions to their own Little Language. They don't seem to understand that there is such as thing as “presentation logic”, and it can get sometimes complicated enough to need a Real Language like Python to run it. Having you kick out your presentation logic into the app with the business logic is so not a win. Avoid!
(The limited expression separate mini-language approach made some sense in JSP's ‘EL’, as Java is too annoyingly verbose to use in a templating library. But we've got Python! It's perfect for writing expressions in templates as it is; chopping functionality out and making the user learn another new language gains you nothing.)