INFORME PLANTILLAS
Enviado por wjdada • 11 de Mayo de 2022 • Informe • 682 Palabras (3 Páginas) • 73 Visitas
Etiquetas de plantillas básicas y filtros
El sistema de plantillas de Django se distribuye con etiquetas y filtros incorporados.
Etiquetas
If/else
La etiqueta { % if %} evalúa una variable, y si esta es “true” el sistema mostrará todo entre { % if %} y { % endif %}, por ejemplo:
{ % if today_is_weekend %} <p>Welcome to the weekend!</p> { % endif %} |
También se puede utilizar la etiqueta { % else %}:
{ % if today_is_weekend %} <p>Welcome to the weekend!</p> { % else %} <p>Get back to work.</p> { % endif %} |
La etiqueta { % if %} también acepta and, or, o not para testear múltiples variables, o para negarlas. Por ejemplo:
{ % if athlete_list and coach_list %} Both athletes and coaches are available. { % endif %} { % if not athlete_list %} There are no athletes. { % endif %} { % if athlete_list or coach_list %} There are some athletes or some coaches. { % endif %} { % if not athlete_list or coach_list %} There are no athletes or there are some coaches. (OK, so writing English translations of Boolean logic sounds stupid; it's not our fault.) { % endif %} { % if athlete_list and not coach_list %} There are some athletes and absolutely no coaches. { % endif %} |
For
La etiqueta { % for %} permite iterar sobre cada uno de los elementos de una secuencia. Cada vez que atravesamos el loop, el sistema de plantillas renderizará todo entre { % for %} y { % endfor %}. Por ejemplo, puedes usar lo siguiente para mostrar una lista de atletas tomadas de la variable athlete_list:
<ul> { % for athlete in athlete_list %} <li>{{ athlete.name }}</li> { % endfor %} </ul> |
Agrega reversed a la etiqueta para iterar sobre la lista en orden inverso:
{ % for athlete in athlete_list reversed %} ... { % endfor %} |
Es posible anidar etiquetas { % for %}:
{ % for country in countries %} <h1>{{ country.name }}</h1> <ul> { % for city in country.city_list %} <li>{{ city }}</li> { % endfor %} </ul> { % endfor %} |
Ifequal/ifnotequal
Es bastante común que una plantilla requiera comparar dos valores y mostrar algo si ellos son iguales. Django provee la etiqueta { % ifequal %} para este propósito. La etiqueta { % ifequal %} compara dos valores y muestra todo lo que se encuentra entre { % ifequal %} y { % endifequal %} si el valor es igual.
Este ejemplo compara las variables user y currentuser de la plantilla:
...