INFORME PLANTILLAS
wjdadaInforme11 de Mayo de 2022
682 Palabras (3 Páginas)86 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:
{ % ifequal user currentuser %} <h1>Welcome!</h1> { % endifequal %} |
Los argumentos pueden ser strings con simples o dobles comillas, lo siguiente es válido:
{ % ifequal section 'sitenews' %} <h1>Site News</h1> { % endifequal %} { % ifequal section "community" %} <h1>Community</h1> { % endifequal %} |
Como { % if %}, la etiqueta { % ifequal %} soporta un opcional { % else %}:
...