Mako (moteur de template)

moteur de template

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].

Mako
Description de l'image MakoLogo large.png.

Informations
Développé par Mike Bayer[1]
Première version [2]
Dernière version 1.3.3 ()[3]Voir et modifier les données sur Wikidata
Dépôt bitbucket.org/zzzeek/mako.git et github.com/zzzeek/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
Type Bibliothèque logicielle
Système de gabaritVoir et modifier les données sur Wikidata
Politique de distribution Gratuit
Licence MIT
Site web www.makotemplates.org

Fonctionnalités modifier

  • 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

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

Liens externes modifier