Mako (moteur de template)

Mako
Description de l'image MakoLogo large.png.

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

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