Table des matières

Module listtemplate

Définit la classe ListTemplate dans listetemplate.py.

Reprend la même idée que le module template mais en prévoyant un ingrédient de plus : nous aurons certains cas où il faudra représenter des tableaux ou des listes – exemple : listes des livres disponibles.

Vous pouvez tester le bon fonctionnement avec le module de test : listtemplate.test.py.

Exemple

On a demandé une liste de livres et la BDD nous a répondu par :

[
    {'id':1, 'titre':'Tintin au Tibet', 'auteur':'Hergé'},
    {'id':2, 'titre':'Le rouge et le noir', 'auteur':'Stendhal'},
    {'id':3, 'titre':'Robinson Crusoé', 'auteur':'William Defoe'},
    ...
]

Nous souhaitons pouvoir produire le code html d'un tableau suivant :

<table width=100% class='tableau-livres'>
    <tr><th>Titre</th><th>Auteur</th></tr>
    <tr><td>Tintin au Tibet</td><td>Hergé</td></tr>
    <tr><td>Le rouge et le noir</td><td>Stendhal</td></tr>
    <tr><td>Robinson Crusoé</td><td>William Defoe</td></tr>
    ...
</table>

Le tableau est constitué d'une entête, de lignes – une par item – et d'un pied.

Supposons qu'un tel template ait le nom liste-livres, on définira alors 3 fichiers *.tpl :

<table width=100% class='tableau-livres'>
  <tr><th>Titre</th><th>Auteur</th></tr>
  <tr><td>{titre}</td><td>{auteur}</td></tr>
</table>

Le traitement d'un tel template consistera à :

  1. produire l'entête,
  2. le texte pour chaque item,
  3. le pied,
  4. coller tout ensemble et renvoyer le résultat.

Interface de la classe ListTemplate