Comment utiliser la fonction de rendu définie dans .mako (.html) directement dans mako

Utilisez la fonction de rendu définie dans .mako directement dans mako

Lorsque vous définissez la fonction d'assistance du moteur de modèle, vous souhaiterez peut-être l'utiliser directement à l'extérieur du modèle. Pour mako, utilisez get_def.

Utilisez mako (préface)

$ pip install mako

Spécifiez directement une chaîne de caractères et effectuez le rendu

La méthode de spécification directe d'une chaîne de caractères et de rendu est la suivante.

# -*- coding:utf-8 -*-
from mako.template import Template
template = Template(u"""\
hello ${name}
""")

print(template.render(name="world"))
# hello world

Définissez et appelez un assistant ailleurs.

La méthode pour appeler la fonction d'assistance définie dans un autre endroit à partir d'un autre endroit (show.html) est la suivante. Lorsque la structure du fichier est la suivante.

$ tree
.
|-- greeting.html
|-- hello_with_otherfile.py
`-- show.html

Enregistrez le chemin de niveau supérieur utilisé lors de la recherche d'un modèle dans la recherche de modèle. Et il appelle bonjour de voeux.html via le modèle show.html.

hello_with_otherfile.py

# -*- coding:utf-8 -*-
from mako.lookup import TemplateLookup
import os.path
here = os.path.abspath(os.path.dirname(__file__))

lookup = TemplateLookup([here])
template = lookup.get_template("show.html")
print(template.render(name="world"))

# hello world

show.html

<%namespace file="./greeting.html" name="g"/>
${g.hello(name)}

greeting.html

<%def name="hello(name)">
hello ${name}
</%def>

Utilisez la fonction de rendu définie dans .mako directement dans mako

Enfin le sujet principal. Comment utiliser la fonction de rendu définie dans .mako directement dans mako. Dans ce cas, la fonction hello définie dans salutation.html est la fonction que vous souhaitez utiliser. Cela utilise get_def comme suit.

# -*- coding:utf-8 -*-
from mako.lookup import TemplateLookup
import os.path
here = os.path.abspath(os.path.dirname(__file__))

lookup = TemplateLookup([here])
hello = lookup.get_template("greeting.html").get_def("hello")

print(hello.render("world"))
# hello world

Recommended Posts

Comment utiliser la fonction de rendu définie dans .mako (.html) directement dans mako
Utiliser la fonction de rendu comme pseudo balise html dans mako
Comment utiliser la bibliothèque C en Python
Comment utiliser le générateur
Comment utiliser la clause exist dans l'ensemble de requêtes Django
Comment utiliser le modèle appris dans Lobe en Python
Comment utiliser le décorateur
Comment utiliser la méthode __call__ dans la classe Python
Comment définir l'attribut de classe html dans le formulaire forms.py de Django
Remarques sur l'utilisation de la guimauve dans la bibliothèque de schémas
Comment utiliser le module optparse
Comment utiliser SQLite en Python
Comment utiliser Mysql avec python
Comment utiliser ChemSpider en Python
Comment utiliser PubChem avec Python
Comment utiliser la fonction zip de python
Comment utiliser le module ConfigParser
[Introduction à Python] Comment utiliser l'opérateur in dans l'instruction for?
Comment utiliser les colonnes calculées dans CASTable
Comment utiliser le pipeline Spark ML
Comment utiliser Google Test en langage C
[python] Comment utiliser __command__, explication des fonctions
Comment utiliser l'interpréteur d'Anaconda avec PyCharm
Comment utiliser __slots__ dans la classe Python
Comment utiliser le débogueur IPython (ipdb)
Comment utiliser Map dans ViewPager d'Android
Comment utiliser is et == en Python
[Python] Comment utiliser la fonction enumerate (extraire le numéro d'index et l'élément)
[Langage C] Comment utiliser la fonction crypt sous Linux [Hachage de mot de passe]
Comment utiliser MkDocs pour la première fois
Comment utiliser la bibliothèque d'images Python dans la série python3
Comment utiliser la bibliothèque de dessins graphiques Bokeh
Résumé de l'utilisation de MNIST avec Python
Comment utiliser l'API Google Cloud Translation
Comment utiliser l'API du guide des programmes NHK
[Algorithm x Python] Comment utiliser la liste
Comment obtenir les fichiers dans le dossier [Python]
Comment utiliser tkinter avec python dans pyenv
[Python] Comment utiliser la fonction de hachage et taple.
Connectez-vous avec json en utilisant pygogo.
Comment se moquer d'une fonction publique dans Pytest
Comment utiliser Python-shell
Comment récupérer la nième plus grande valeur en Python
[Pour les débutants] Comment utiliser la commande say avec python!
Remarques sur l'utilisation de tf.data
Comment obtenir le nom de la variable lui-même en python
Comment utiliser virtualenv
Comment exécuter le module Ansible ajouté dans Ansible Tower
Comment utiliser Seaboan
Comment utiliser le shogun
Comment obtenir le nombre de chiffres en Python
Comment utiliser Pandas 2
Comment utiliser Virtualenv
[Introduction à Python] Comment itérer avec la fonction range?
Comment connaître le répertoire actuel en Python dans Blender
Comment définir Decorator et Decomaker avec une seule fonction
Comment utiliser numpy.vectorize
Comment utiliser pytest_report_header
Comment utiliser Raspeye Relay Module Python
Un mémorandum sur l'utilisation de keras.preprocessing.image de Keras