Genere HTML usando el módulo tinyhtml en Python

La creación de HTML a veces puede ser una tarea tediosa, difícil de depurar y propensa a errores. Una forma de resolver esto es usar alguna biblioteca que pueda encargarse del div de apertura y cierre, etc., lo que puede reducir las posibilidades de errores. Usaremos el módulo tinyhtml para este propósito.

Este módulo proporciona un conjunto de clases útiles para renderizar html5 utilizando código Python y permite agrupar varias etiquetas HTML. También ayuda a publicar HTML sin formato sin formato, lo que proporciona la funcionalidad de bucles o conversiones de tipo mediante constructores.

Instalación

Para instalar este módulo, escriba el siguiente comando en la terminal.

pip install tinyhtml

Funciones utilizadas

  • html() : Marca el comienzo del código html.
  • h() : la mayoría de las funciones de utilidad, permite renderizar atributos, elementos normales y elementos anulados/de cierre automático.
  • raw() : se usa para imprimir strings html sin escape.
  • frag() : Agrupa varias etiquetas HTML juntas.
  • render() : procesa y convierte el html de entrada.

Ejemplo 1:

Python3

from tinyhtml import html, h
  
# Constructing HTML using html() and h()
# nested h() is also supported
html_content = html(lang="en")(
    h("head")(
        (h("h1")("hello Geeks!!")),
    ),
).render()
  
# printing html formed on console.
print(html_content)

Producción: 

Ejemplo 2: Uso de raw() y frag()

Python3

from tinyhtml import html, h, frag, raw
  
# using frag() to group to h fncs.
print("Working of frag() : ")
html_content = html(lang="en")(
    frag(h("h1")("Welcome to GFG"), h("p")("This\
    is one among best ever coding site you've been\
    to.."))).render()
  
print(html_content)
  
print("\n")
  
# prints raw unescaped HTML.
print("The unescaped HTML raw content : ")
print(raw('<h1>Printing Raw HTML</h1>
<p> Dont escape <<>>>> </p>
'))

Producción :

Ejemplo 3: uso de clases y etiquetas como HTML

En esto, usamos el operador » klass » para inicializar una clase. Y para otras etiquetas que pueden coincidir con el nombre de las palabras clave reservadas de Python, se agrega un guión bajo al final. 

Python3

from tinyhtml import h
  
# using klass to initialize class
print("Working with Class : ")
class_inp = h("div", klass="gfg")()
print(class_inp)
  
# using _ to escape for loop operator
print("Working with label and escaping keyword : ")
label_inp = h("label", for_="geeksforgeeks")("GFG")
print(label_inp)

Producción : 

Ejemplo 4: trabajar con bucles y condicionales

La representación de contenido HTML que requiere bucles como elementos de lista y condicionales también es posible mediante bucles y condicionales básicos de Python.

Python3

from tinyhtml import h
  
# initializing loop elements
print("Using loop elements : ")
looped_element = h("ul")(h("li")(idx) for idx in range(5))
print(looped_element)
  
print("\n")
  
# using conditionals
print("Using conditional elements : ")
conditional_element = h("ul")(
    h("li")("Gfg") if False else "GFG", h("li")("Geeks"))
print(conditional_element)

Producción : 

Ejemplo 5: Plantillas de HTML usando funciones

Python3

from tinyhtml import h, html, frag
  
  
# function to create layout.
# advantage is that this can be reused.
def create_layout(title, body):
    return html()(
        h("head")(
            h("title")(title),
        ),
        h("body")(body)
    )
  
  
# calling function to create layout.
layout = create_layout("Gfg Templating", frag(
    h("h1")("Demo Heading"),
    h("p")("Making fragment to demo templating layout"),
))
  
print("Created layout : ")
print(layout)

Producción : 

plantillas html

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *