Mako Templates for Python

Mako is a Hyperfast and lightweight templating for the Python platform. It provides a familiar, non-XML syntax which compiles into Python modules for maximum performance.

Mako's syntax and API borrows from the best ideas of many others, including Django and Jinja2 templates, Cheetah, Myghty, and Genshi. Conceptually, Mako is an embedded Python (i.e. Python Server Page) language, which refines the familiar ideas of componentized layout and inheritance to produce one of the most straightforward and flexible models available, while also maintaining close ties to Python calling and scoping semantics.

Example:

  <%inherit file="base.html"/>
  <%
       rows = [[v for v in range(0,10)] for row in range(0,10)]
 %>
<table>
    % for row in rows:
        ${makerow(row)}
    % endfor
</table>
<%def name="makerow(row)">
    <tr>
    % for name in row:
        <td>${name}</td>\
    % endfor
    </tr>
</%def>
  

Super fast. As templates are ultimately compiled into Python bytecode, Mako's approach is extremely efficient, and was originally written to be just as fast as Cheetah. Today, Mako is very close in speed to Jinja2, which uses a similar approach and for which Mako was an inspiration.
Documentation


Technology Python Programming Entertainment Python3 Linux Web-development Linux-mint Centos 7 Book
ziabs @ 25 Sep 2022