Mako (moteur de template)

Mako

Informations
Développé par Mike Bayer[1]
Première version [2]
Dernière version 1.3.10 ()[3]
Dépôt github.com/sqlalchemy/mako
État du projet En développement actif
Écrit en Python
Formats lus Mako file format (d)
Formats écrits Mako file format (d)
Type Système de gabarit
Bibliothèque logicielle Python (d)
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[4]. Il s'agit du langage de template inclus par défaut dans les frameworks Web Pylons[5] et Pyramid[6].

Fonctionnalités

  • 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

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

Liens externes

  • Portail de la programmation informatique
  • Portail des logiciels libres