Usar Templetor -el sistema de plantillas de web.py- fuera del framework

Versión: 2.3 – 2.7

Descargas: templetor.zip, test.zip (incluye templetor, test.py e index.html).

Templetor es el sistema de plantillas (templating system) que implementa el web framework minimalista web.py. Es simple y muy eficiente; en lugar de crear una nueva sintaxis para los templates utiliza la misma de Python. Como Adam Atlas dice en la página oficial, «Django te permite crear aplicaciones web en Django. TurboGears te permite crear aplicaciones web en TurboGears. Web.py te permite crear aplicaciones web en Python.«. Una vez que hayas aprendido a utilizar este sistema de plantillas no querrás utilizar otro (por cierto, se aprende sumamente rápido en este enlace). Si conoces la sintaxis de Python, conoces la sintaxis de Templetor.

En varias oportunidades he optado por utilizarlo como un sistema de plantillas standalone, es decir, que corra de manera independiente del framework. No es una tarea difícil, por lo que a continuación te mostraré los pasos.

Primero deberás descargar Templetor como cualquier otro paquete (nótese el enlace de la descarga al comienzo del artículo). El archivo ZIP contiene la carpeta que deberás posicionar en la carpeta de Python, o bien, en la del proyecto que vaya a utilizar el paquete. La estructura es la siguiente:

templetor/
    |
    |-- __init__.py
    |-- net.py
    |-- utils.py
    |-- webapi.py

El archivo __init__.py es un módulo similar a web.template. Los demás archivos contienen únicamente las funciones utilizadas por el primer módulo, es decir, una versión sumamente simplificada de cada uno de ellos.

Para utilizar Templetor, deberás importarlo como import templetor en lugar del tradicional import web.template.

Puedes probar la eficacia del paquete con el siguiente código:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import templetor

render = templetor.render("templates")

print render.index("Ejemplo usando Templetor (standalone)",
                   "Recursos Python", "04/01/2014")

Asumiendo que has creado el archivo templates/index.html con el siguiente código:

$def with (title, author, date)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>$title</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
</head>
<body>
<h1>$title</h1>
<small>$author</small>
<p>$date</p>
</body>
</html>

Curso online 👨‍💻

¡Ya lanzamos el curso oficial de Recursos Python en Udemy! Un curso moderno para aprender Python desde cero con programación orientada a objetos, SQL y tkinter en 2024.

Consultoría 💡

Ofrecemos servicios profesionales de desarrollo y capacitación en Python a personas y empresas. Consultanos por tu proyecto.

Deja una respuesta