Una plantilla de Django es un documento de texto o una string de Python marcada con el lenguaje de plantillas de Django. Django, al ser un poderoso marco de trabajo incluido en las baterías, brinda comodidad para representar datos en una plantilla. Las plantillas de Django no solo permiten pasar datos de la vista a la plantilla, sino que también proporcionan algunas funciones limitadas de una programación, como variables, bucles for, comentarios, extensiones, if else, etc.
Este artículo gira en torno a cómo usar la etiqueta if en Plantillas. 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.
Sintaxis:
{% if variable %} // statements {% else %} // statements {% endif %}
Ejemplo:
html
{% 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 %}
En lo anterior, si lista_de_atletas no está vacía, la variable {{lista_de_atletas|longitud}} mostrará el número de atletas.
Como se puede ver, la etiqueta if puede tomar una o varias cláusulas {% elif %}, así como una cláusula {% else %} que se mostrará si todas las condiciones anteriores fallan. Estas cláusulas son opcionales.
if – Plantilla de Django Etiquetas Explicación
Ilustración de cómo usar la etiqueta if en las plantillas de Django usando un ejemplo. Considere un proyecto llamado geeksforgeeks que tenga una aplicación llamada geeks.
Consulte los siguientes artículos para comprobar cómo crear un proyecto y una aplicación en Django.
Ahora cree una vista a través de la cual pasaremos el diccionario de contexto,
en geeks/views.py,
Python3
# import Http Response from django from django.shortcuts import render # create a function def geeks_view(request): # create a dictionary context = { "data" : 99, } # return response return render(request, "geeks.html", context)
Cree una ruta de URL para asignar a esta vista. En geeks/urls.py,
Python3
from django.urls import path # importing views from views.py from .views import geeks_view urlpatterns = [ path('', geeks_view), ]
Crea una plantilla en templates/geeks.html,
html
{% if data %} Value in data is : - {{ data }} {% else %} Data is empty {% endif%}
Verifiquemos lo que se muestra en «/» en la plantilla.
{% más %}
Verifiquemos si la instrucción {% else %} funciona o no.
Ahora pasemos una array vacía y usemos una etiqueta vacía junto con una etiqueta for.
En geeks/views.py,
Python3
## import Http Response from django from django.shortcuts import render # create a function def geeks_view(request): # create a dictionary context = { "data" : False, } # return response return render(request, "geeks.html", context)
Ahora, revisa http://127.0.0.1:8000/ ,
Uso avanzado
si las etiquetas pueden usar y, o no para probar una serie de variables o para negar una variable determinada:
{% 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. {% endif %} {% if athlete_list and not coach_list %} There are some athletes and absolutely no coaches. {% endif %}
Publicación traducida automáticamente
Artículo escrito por NaveenArora y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA