Django: Introducción a los templatetags.
Aprenderlos no es tan dificil como parece. Django tiene tags pre-construidos que los usamos en nuestras aplicaciones. Crear los nuestros nos ayudará a mejorar nuestras vistas.
Uso de tags en plantillas
El sistema de plantillas de django viene con una variedad de tags ya diseñados para usarlos en nuestras plantillas html.
{% for %} {% endfor %}
{% if %} {% endif %}
{% block %} {% endblock %}
De otra forma podemos extender la funcionalidad creando los nuestros y usarlos para diferente propósito. Empezamos.
Simple tags
django.template.Library.simple_tag()
Es el más sencillo de usar. Su uso se limita a realizar una sencilla acción y mostrar su resultado, con un mensaje en pantalla.
from django import template
register = template.Library()
@register.simple_tag
def saludar_usuario(username):
return 'hola ' + username + ' desde un templatetags'
Inclusion tags
django.template.Library.inclusion_tag()
Su diferencia se basa en que podemos utilizar plantillas html. Así es. Puedes pintar un bloque html dentro de tu vista html. Para eso se requiere de dos cosas: la función y la vista. En el siguiente ejemplo muestra los usuarios existentes.
from django import template
from django.contrib.auth.models import User
register = template.Library()
@register.inclusion_tag('lista_usuarios.html')
def lista_de_usuarios():
usuarios = User.objects.all()
return {'usuarios': usuarios}
<!-- lista_usuarios.html -->
<ul>
{% for usuario in usuarios %}
<li> {{ usuario.username }} </li>
{% endfor %}
</ul>
Hay muchas mas opciones para cada una de ellas. Lo importante es conocerlas cada una para utilizarlas de la mejor manera.
En el siguiente post empezaremos a crear nuestros propios templatetags
Saludos.