Mako (moteur de template)

Un article de Wikipédia, l'encyclopédie libre.
Mako
Description de l'image MakoLogo large.png.

Informations
Développé par Mike Bayer[1]
Première version [2]
État du projet En développement actif
Écrit en Python
Politique de distribution Gratuit
Licence MIT
Site web www.makotemplates.org

Mako est un moteur de templates pour le langage de programmation Python. Mako est utilisé par Reddit[3]. Il s'agit du langage de template inclus par défaut dans les frameworks Web Pylons[4] et Pyramid[5].

Fonctionnalités[modifier | modifier le code]

  • Structure de contrôle basé sur le langage Python (boucles, conditions, etc.)
  • Utilisation de morceau de Python
  • Inclusion entre templates
  • Callable blocks
  • Héritage
  • Support pour Python 2.7 et Python 3.x.

Exemples[modifier | modifier le code]

Usage le plus simple dans un programme Python:

from mako.template import Template

mytemplate = Template("hello world!")
print(mytemplate.render())

Un usage plus typique avec des exemples d'héritage, de boucles et des variables:

<%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>

Références[modifier | modifier le code]

Liens externes[modifier | modifier le code]