Logo

Django Template Filters para Procesamiento de Datos

Los Django template filters son una funcionalidad clave en el framework Django que permite procesar y manipular datos en las plantillas de Django. Estos filtros proporcionan una forma conveniente de realizar operaciones comunes en los datos presentados en las plantillas, sin la necesidad de escribir código Python adicional.

¿Qué son los Django Template Filters?

Los Django template filters son funciones que se aplican a las variables en las plantillas de Django para realizar transformaciones en los datos antes de mostrarlos en la interfaz de usuario. Estos filtros se aplican utilizando la sintaxis de doble llave {{ variable | filtro }}, donde variable es la variable a la que se aplica el filtro y filtro es el nombre del filtro que se desea utilizar.

Filtros comunes de Django Template

A continuación, se presentan algunos ejemplos de filtros comunes que pueden ser utilizados en las plantillas de Django para el procesamiento de datos:

Filtro date

El filtro date se utiliza para formatear fechas. Por ejemplo, si tenemos una variable fecha que contiene una fecha en formato YYYY-MM-DD, podemos utilizar el filtro date para mostrarla en un formato más legible. El código siguiente muestra un ejemplo de cómo utilizar el filtro date:

{{ fecha | date:"d/m/Y" }}

Este filtro mostrará la fecha en formato DD/MM/YYYY.

Filtro truncatechars

El filtro truncatechars se utiliza para truncar un texto a un número determinado de caracteres. Por ejemplo, si tenemos una variable texto que contiene un párrafo de texto largo, podemos utilizar el filtro truncatechars para mostrar solo los primeros 50 caracteres. El código siguiente muestra un ejemplo de cómo utilizar el filtro truncatechars:

{{ texto | truncatechars:50 }}

Este filtro mostrará solo los primeros 50 caracteres del texto.

Filtro length

El filtro length se utiliza para obtener la longitud de una lista o una cadena de texto. Por ejemplo, si tenemos una variable lista que contiene una lista de elementos, podemos utilizar el filtro length para obtener el número de elementos en la lista. El código siguiente muestra un ejemplo de cómo utilizar el filtro length:

{{ lista | length }}

Este filtro mostrará el número de elementos en la lista.

Filtro default

El filtro default se utiliza para proporcionar un valor predeterminado en caso de que una variable sea nula o no esté definida. Por ejemplo, si tenemos una variable nombre que podría ser nula, podemos utilizar el filtro default para mostrar un valor predeterminado en su lugar. El código siguiente muestra un ejemplo de cómo utilizar el filtro default:

{{ nombre | default:"N/A" }}

Este filtro mostrará "N/A" si la variable nombre es nula.

Creación de Filtros Personalizados

Además de los filtros predefinidos proporcionados por Django, también es posible crear filtros personalizados para realizar operaciones más específicas. Para crear un filtro personalizado, se debe definir una función Python y registrarla como un filtro en el archivo templatetags.py de la aplicación Django.

A continuación, se muestra un ejemplo de cómo crear un filtro personalizado que convierte un texto en mayúsculas:

  1. Crear un archivo templatetags.py en la carpeta de la aplicación Django.
  2. Definir una función Python que realiza la conversión a mayúsculas:
from django import template

register = template.Library()

@register.filter
def uppercase(value):
    return value.upper()
  1. En la plantilla de Django, importar y utilizar el filtro personalizado:
{% load templatetags %}

{{ texto | uppercase }}

Este filtro personalizado convertirá el texto en mayúsculas antes de mostrarlo.

Referencias

© Copyright 2024, todos los derechos reservados.