Login to your account |
Other Options |

There are a number of (very good) templating systems and languages available for Python. They fall in to one of two camps; either they are XML based, like Genshi, or they are text based, like Mako. Most programmers favour one or the other, but there is far from a consensus over which is better.
I'd like to use this debate to gather reasons for using one over the other in the context of web development. I suspect there will be no clear winner, but it should serve as a useful resource for those faced with the decision!
NB. You can post code with the [code] bbcode tag. Many languages are supported. e.g.
[code python]
print "Hello, World!"
[/code]
XML template engines are great if you are generating XML, but in Web applications that isn't always the case. HTML is a better format for real-world Web sites than XHTML (less compatibility issues, better browser support), and most applications need to generate plain text formats such as e-mails as well. While XML template systems can be used for non-XML output doing so tends to be quite uncomfortable and can be overly verbose.
According to Martijn Faassen:
Another prominent use case for text-based templates besides templating email is templating SQL.