{{tag>dev python templates jinja2}} :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 : ... + ... ===== Formater la date dans le template ===== Le plus simple est d'appeler la méthode **''strftime()''** sur l'objet de type datetime :
{{ universe.created_on.strftime('%d-%m-%Y') }}
===== Références ===== * https://www.digitalocean.com/community/tutorials/how-to-use-templates-in-a-flask-application * https://stackoverflow.com/questions/4830535/how-do-i-format-a-date-in-jinja2