Outils pour utilisateurs

Outils du site


dev:python:flask:templates

:TODO_DOCUPDATE:

Flask : Utilisation des templates

Le template est un document HTML contenant des zones non remplies (placeholders).

Héritage : Le document de base contient du code HTML pouvant être partagé par d'autres pages (factorisation).

  • On crée un document contenant des sections vides nommées avec la syntaxe

Objets accessibles depuis le template

A l'intérieur des templates les objets config, request, session et g sont disponibles ainsi que les fonctions url_for() et get_flashed_messages().

Le système de filtre

Le helper url_for()

Depuis le template on peut utiliser la fonction url_for() pour créer un lien vers une autre page : l'argument est le nom de la fonction associée à la route :

Dans notre projet Flask, on a une fonction nommée par exemple new_universe :

@app.route('/create/universe', methods=['GET', 'POST'])
def new_universe():
    if request.method == 'POST':
...

Cette fonction est associée à la route /create/universe. Dans notre template si on souhaite créer le lien vers cette page on peut produire le code suivant :

...
 <a href="{{ url_for('new_universe') }}" class="active tm-paging-link">+</a>
...

Formater la date dans le template

Le plus simple est d'appeler la méthode strftime() sur l'objet de type datetime :

<div>
  <span>{{ universe.created_on.strftime('%d-%m-%Y') }}</span>
</div>

Références

dev/python/flask/templates.txt · Dernière modification : 2024/11/22 08:58 de yoann