Mako (moteur de template)
Mako
Développé par | Mike Bayer[1] |
---|---|
Première version | [2] |
Dernière version | 1.3.8 ()[3],[4] |
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[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
- ↑ (en) Mike Bayer is the creator of SQLAlchemy and Mako Templates for Python.
- ↑ (en) https://pypi.org/project/Mako/#history
- ↑ « Release 1.3.8 », (consulté le )
- ↑ « Release 1.3.8 », (consulté le )
- ↑ (en)https://old.reddit.com/r/redditdev/comments/fewoh/a_beginners_guide_to_the_reddit_source_code_part/
- ↑ (en)https://docs.pylonsproject.org/projects/pylons-webframework/en/latest/views.html
- ↑ (en) https://docs.pylonsproject.org/projects/pyramid-cookbook/en/latest/pylons/templates.html
Liens externes
- (en) Mako source sur GitHub
- (en) Site officiel