Plantillas Django Tags

Django Web Framework se envía con docenas de etiquetas que se utilizan para implementar lógicas arbitrarias directamente en la plantilla. Las etiquetas se ven así: {% tag %}. Las etiquetas son más complejas que las variables: algunas crean texto en la salida, otras controlan el flujo realizando bucles o lógica, y algunas cargan información externa en la plantilla para que la usen las variables posteriores. Las etiquetas proporcionan una lógica arbitraria en el proceso de representación. Por ejemplo, una etiqueta puede generar contenido, servir como una estructura de control, por ejemplo, una declaración «si» o un bucle «for», obtener contenido de una base de datos o incluso habilitar el acceso a otras etiquetas de plantilla.

Sintaxis
{% tag_name %}
Ejemplo

Las etiquetas están rodeadas por {% y %} así:

{% csrf_token %}

La mayoría de las etiquetas aceptan argumentos, por ejemplo:

{% cycle 'odd' 'even' %}

Etiquetas de uso común en las plantillas de Django

  1. Comentario

    La plantilla ignora todo entre {% comentario %} y {% comentario final %}. Se puede insertar una nota opcional en la primera etiqueta. Por ejemplo, esto es útil cuando se comenta el código para documentar por qué se deshabilitó el código.
    Ejemplo

    {% comment "Optional note" %}
        
    Commented out text with {{ create_date|date:"c" }}
    
    
    {% endcomment %}
    

    Para obtener más información sobre la etiqueta de comentario, visite – comentario – Etiquetas de plantilla de Django

  2. ciclo

    Produce uno de sus argumentos cada vez que se encuentra esta etiqueta. El primer argumento se produce en el primer encuentro, el segundo argumento en el segundo encuentro, y así sucesivamente. Una vez que se agotan todos los argumentos, la etiqueta pasa al primer argumento y lo vuelve a producir.
    Ejemplo
    Esta etiqueta es particularmente útil en un bucle:

    {% for o in some_list %} 
        <tr class="{% cycle 'row1' 'row2' %}"
            ... 
        </tr
    {% endfor %} 

    La primera iteración produce HTML que hace referencia a la clase fila1, la segunda a la fila2, la tercera a la fila1 nuevamente, y así sucesivamente para cada iteración del bucle.
    Para obtener más información sobre la etiqueta de ciclo, visite – ciclo – Etiquetas de plantilla de Django

  3. extiende

    La etiqueta extends se usa para la herencia de plantillas en django. Uno necesita repetir el mismo código una y otra vez. Al usar extensiones, podemos heredar plantillas y variables.
    Ejemplo
    Suponga la siguiente estructura de directorios:

    dir1/
        template.html
        base2.html
        my/
            base3.html
    base1.html

    En template.html, las siguientes rutas serían válidas:

    {% extends "./base2.html" %}
    {% extends "../base1.html" %}
    {% extends "./my/base3.html" %}

    Para obtener más información sobre la etiqueta extendida, visite – extiende – Etiquetas de plantilla de Django

  4. si

    La etiqueta {% if %} evalúa una variable, y si esa variable es «verdadera» (es decir, existe, no está vacía y no es un valor booleano falso), se emite el contenido del bloque. Ejemplo

    {% if athlete_list %}
        Number of athletes: {{ athlete_list|length }}
    {% elif athlete_in_locker_room_list %}
        Athletes should be out of the locker room soon!
    {% else %}
        No athletes.
    {% endif %}

    {{ athlete_list|length }}En lo anterior, si lista_atletas no está vacía, la variable mostrará el número de atletas .

    Como se puede ver, la etiqueta if puede tomar una o varias {% elif %}cláusulas, así como una {% else %}cláusula que se mostrará si todas las condiciones anteriores fallan. Estas cláusulas son opcionales.

    Para obtener más información sobre la etiqueta if, visite – if – Etiquetas de plantilla de Django

  5. en bucle

    for tag se repite en cada elemento de una array, lo que hace que el elemento esté disponible en una variable de contexto.
    Ejemplo
    Por ejemplo, para mostrar una lista de atletas proporcionada en lista_de_atletas:

    <ul>
    {% for athlete in athlete_list %}
        <li>{{ athlete.name }}</li>
    {% endfor %}
    </ul>

    Para obtener más información sobre la etiqueta for loop, visite – for loop – Etiquetas de plantilla de Django

  6. para… bucle vacío

    for tag se repite en cada elemento de una array, lo que hace que el elemento esté disponible en una variable de contexto. La etiqueta for puede tomar una cláusula opcional {% empty %}cuyo texto se muestra si la array dada está vacía o no se pudo encontrar. Esto se usa básicamente como una condición a seguir para verificar si el conjunto de consultas está vacío y qué acción se debe realizar en el mismo escenario.

    Ejemplo

    <ul
    {% if athlete_list %} 
        {% for athlete in athlete_list %} 
        <li>{{ athlete.name }}</li
        {% endfor %} 
    {% else %} 
        <li>Sorry, no athletes in this list.</li
    {% endif %} 
    </ul

    Para obtener más información sobre la etiqueta de bucle vacío, visite – para… bucle vacío – Etiquetas de plantilla de Django

  7. Operadores booleanos

    La {% if %}etiqueta evalúa una variable, y si esa variable es «verdadera» (es decir, existe, no está vacía y no es un valor booleano falso), se emite el contenido del bloque. Se pueden usar varios operadores booleanos con la etiqueta Django If Template.

    Ejemplo

    <ul
    {% if variable boolean_operator value %}
    // statements
    {% endif %}
    </ul

    Para obtener más información sobre los operadores booleanos, visite – Operadores booleanos – Etiquetas de plantilla de Django

  8. primero de

    firstof tag Muestra la primera variable de argumento que no es «falsa» (es decir, existe, no está vacía, no es un valor booleano falso y no es un valor numérico cero). No genera nada si todas las variables pasadas son «falsas».

    Ejemplo

    {% firstof var1 var2 var3 %}

    Esto es equivalente a:

    {% if var1 %}
        {{ var1 }}
    {% elif var2 %}
        {{ var2 }}
    {% elif var3 %}
        {{ var3 }}
    {% endif %}

    También se puede usar una string literal como valor alternativo en caso de que todas las variables pasadas sean falsas:

    {% firstof var1 var2 var3 "fallback value" %}

    Para obtener más información sobre la etiqueta firstof, visite – firstof – Etiquetas de plantilla de Django

  9. incluir

    La etiqueta include carga una plantilla y la representa con el contexto actual. Esta es una forma de “incluir” otras plantillas dentro de una plantilla. El nombre de la plantilla puede ser una variable o una string codificada (entre comillas), entre comillas simples o dobles.

    Ejemplo

    {% include "foo/bar.html" %}

    Normalmente, el nombre de la plantilla es relativo al directorio raíz del cargador de plantillas. Un argumento de string también puede ser una ruta relativa que comience con ./ o ../ como se describe en la etiqueta extends .

    Para obtener más información sobre la etiqueta de inclusión, visite – incluir – Etiquetas de plantilla de Django

  10. lorem

    La etiqueta lorem muestra el texto en latín «lorem ipsum» aleatorio. Esto es útil para proporcionar datos de muestra en plantillas.

    Ejemplo

    • {% lorem %} generará el párrafo común «lorem ipsum».
    • {% lorem 3 p %} generará el párrafo común «lorem ipsum» y dos párrafos aleatorios, cada uno envuelto en etiquetas HTML.
    • {% lorem 2 w random %} generará dos palabras latinas aleatorias.

    Para obtener más información sobre la etiqueta lorem, visite – lorem – Etiquetas de plantilla de Django

  11. ahora

    ahora la etiqueta muestra la fecha y/o la hora actual, usando un formato de acuerdo con la string dada. Dicha string puede contener caracteres especificadores de formato como se describe en la sección de filtro de fecha .
    Ejemplo

    It is {% now "D d M Y" %}

    Se mostrará la etiqueta anterior, martes 04 de febrero de 2020

    Para obtener más información sobre la etiqueta ahora, visite – ahora – Etiquetas de plantilla de Django

  12. URL

    etiqueta url Devuelve una referencia de ruta absoluta (una URL sin el nombre de dominio) que coincide con una vista dada y parámetros opcionales. Esta es una forma de generar enlaces sin violar el principio DRY al tener que codificar las URL en sus plantillas.
    Ejemplo

    {% url 'some-url-name' v1 v2 %}

    El primer argumento es un nombre de patrón de URL. Puede ser un literal entrecomillado o cualquier otra variable de contexto. Los argumentos adicionales son opcionales y deben ser valores separados por espacios que se usarán como argumentos en la URL.

    Para obtener más información sobre la etiqueta de URL, visite – url – Etiquetas de plantilla de Django

Publicación traducida automáticamente

Artículo escrito por NaveenArora 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 *