Fundamentos de Django

1

Entornos Virtuales y Configuración de Django en Python

2

Instalación y configuración de Django con pip y django-admin

3

Arquitectura MBT en Frameworks Web: Model, View y Template

4

Modelo, Vista y Plantilla en Django: Creación y Conexión Básica

La M en el Patrón: Modelo

5

Modelos y Migraciones en Django ORM

Manejo Avanzado de Modelos y Bases de Datos

6

Migraciones en Django: Creación de Tablas en la Base de Datos

7

Creación y Gestión de Campos en Tablas de Django ORM

8

Modificación y Eliminación de Datos en Base de Datos con Python

Relaciones y Asociaciones entre Modelos

9

Relaciones de Tablas Uno a Muchos con Django

10

Relaciones de Muchos a Muchos en Modelos de Base de Datos

11

Relaciones 1 a 1 en Django: Creación y Gestión de Perfiles de Autor

12

Uso de Managers en Django para Consultas de Base de Datos

Configuración de URLs y Vistas Avanzadas

13

URLs Dinámicas en Django: Creación y Gestión Eficiente

14

Vistas en Django: Funciones vs Clases y su Implementación

La T en el Patrón: Plantillas o Templates

15

Templates y Tags en Django: Creación de Aplicaciones Web

Desarrollo de Aplicaciones en Django

16

Configuración de Proyecto Django: Entorno, Extensiones y Repositorio

17

Creación de Modelos de Producto en Django para Cafeterías

18

Instalación y uso de Pillow para campos de imagen en Django

19

Creación y Gestión de Formularios con Django

20

Creación de Plantillas con Django y Tailwind CSS

21

Administración de Modelos en Django: Configuración y Uso de Django Admin

22

Creación de Login y Registro de Usuarios en Django

23

Creación de una Aplicación de Pedidos en Django

24

Detalle de Orden y Personalización de Vistas en Django

25

Corrección de errores en MyOrderView para autenticación de usuario

26

Crear y configurar vistas para agregar productos a una orden en Django

Django Rest Framework

27

Creación de APIs con Django REST Framework

Despliegue de aplicaciones Django

28

Configuración de Bases de Datos con Django y AWS RDS

29

Uso de Django Environ para Manejar Credenciales Seguras

30

Testing de Aplicaciones Django con Unit Tests

31

Despliegue de Proyectos Django en AWS: Configuración y Mejora de Código

32

Despliegue de Aplicaciones con AWS Elastic Beanstalk y Django

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de Django

Curso de Django

Luis Martínez

Luis Martínez

Templates y Tags en Django: Creación de Aplicaciones Web

15/32
Recursos

Exploraremos los templates en Django y sus funcionalidades avanzadas que los diferencian del HTML estándar. Aprenderemos cómo los templates nos permiten mostrar contenido dinámico en el navegador, validar variables, recorrer listas y aplicar filtros para modificar valores antes de mostrarlos. También veremos cómo reutilizar contenido común mediante el archivo base HTML.

¿Qué son los templates en Django?

Los templates en Django son archivos HTML que incluyen funcionalidades adicionales para mostrar contenido dinámico. A diferencia del HTML puro, los Django templates permiten:

  • Mostrar variables
  • Realizar validaciones con if
  • Recorrer listas con for

¿Cómo se muestran variables en un template?

Para mostrar variables, se encierran en dobles llaves {{ }}. Por ejemplo, para mostrar una variable llamada var del contexto, se usaría:

{{ var }}

¿Qué son y cómo se utilizan los filtros en Django?

Los filtros permiten modificar el valor de una variable antes de mostrarla. Se usan con un pipe | seguido del nombre del filtro. Por ejemplo, para mostrar solo el día y mes de una fecha:

{{ fecha_nacimiento|date:"m/d" }}

Los filtros pueden concatenarse. Por ejemplo, convertir el resultado en minúsculas:

{{ fecha_nacimiento|date:"m/d"|lower }}

¿Qué son los tags en Django y cómo se utilizan?

Los tags agregan funcionalidades adicionales al código HTML. Se abren con {% %} y pueden incluir:

  • if: para validaciones
  • for: para recorrer listas
  • url: para mostrar URLs dinámicas

Algunos tags requieren una etiqueta de cierre. Por ejemplo, if y for:

{% if condition %}
    <!-- contenido -->
{% endif %}

¿Qué es el archivo base HTML en Django?

El archivo base.html permite definir contenido común para ser reutilizado en la aplicación. Se crean bloques que pueden extenderse en otros archivos. Por ejemplo:

<!-- base.html -->
<!DOCTYPE html>
<html>
<head>
    <title>{% block title %}{% endblock %}</title>
</head>
<body>
    <div id="content">
        {% block content %}
        {% endblock %}
    </div>
</body>
</html>

Para reutilizar este contenido:

<!-- new_template.html -->
{% extends "base.html" %}
{% block content %}
    <!-- contenido específico -->
{% endblock %}

Aportes 5

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Lo que mencionas del base.html es en realidad un layout. Podemos tener varios layouts, y allí definimos todo aquello que se va a mantener en todas las vistas. Como un nav o un footer.
es útil saber que los templates se basan en jinja2
Las plantillas en Django son una parte esencial del framework, que permiten separar la lógica del servidor (backend) de la presentación (frontend). El sistema de plantillas de Django utiliza archivos HTML con marcadores especiales que permiten insertar datos dinámicos y lógica básica. Aquí tienes una explicación de cómo funcionan las plantillas en Django y cómo utilizarlas: \### 1. \*\*Creación de Plantillas\*\* Una plantilla es básicamente un archivo HTML que puede contener etiquetas de Django para renderizar contenido dinámico. \#### Ejemplo básico de plantilla (`car\_list.html`): ```html \ \<html> \<head> \<title>Listado de carros\</title> \</head> \<body> \

Listado de carros\

\
    {% for car in cars %} \
  • {{ car.name }} - {{ car.brand }}\
  • {% empty %} \
  • No hay carros disponibles.\
  • {% endfor %} \
\</body> \</html> ``` \### 2. \*\*Directorio de Plantillas\*\* Django busca las plantillas en una carpeta llamada `templates` dentro de cada aplicación o en una carpeta global especificada en tu proyecto. \#### Estructura típica de carpetas: ``` my\_first\_app/ ├── templates/ └── my\_first\_app/ └── car\_list.html ``` \### 3. \*\*Configuración de Plantillas en `settings.py`\*\* Asegúrate de que el ajuste `TEMPLATES` en tu archivo `settings.py` esté configurado correctamente. Si usas plantillas dentro de las aplicaciones, deberías tener algo como esto: ```python TEMPLATES = \[ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': \[], # Aquí puedes agregar directorios de plantillas globales si los tienes 'APP\_DIRS': True, # Activa la búsqueda de plantillas en las aplicaciones 'OPTIONS': { 'context\_processors': \[ 'django.template.context\_processors.debug', 'django.template.context\_processors.request', 'django.contrib.auth.context\_processors.auth', 'django.contrib.messages.context\_processors.messages', ], }, }, ] ``` \### 4. \*\*Renderizar Plantillas en una Vista\*\* Para utilizar una plantilla, debes renderizarla en tu vista usando la función `render()`. Esta función toma el `request`, el nombre de la plantilla y un contexto con los datos que quieres pasar a la plantilla. \#### Ejemplo de vista: ```python from django.shortcuts import render from .models import Car def car\_list(request): cars = Car.objects.all() # Obtén todos los carros return render(request, 'my\_first\_app/car\_list.html', {'cars': cars}) ``` \### 5. \*\*Sintaxis de Plantillas\*\* \- \*\*Variables\*\*: Para mostrar datos dinámicos en una plantilla, utiliza las dobles llaves `{{ }}`. Ejemplo: ```html \

Nombre del carro: {{ car.name }}\

``` \- \*\*Etiquetas\*\*: Las etiquetas de plantilla se usan para control de flujo, como bucles, condiciones, etc. Se colocan dentro de `{% %}`. Ejemplo de un bucle: ```html {% for car in cars %} \

{{ car.name }} - {{ car.brand }}\

{% endfor %} ``` \- \*\*Filtros\*\*: Los filtros permiten modificar el valor de una variable en la plantilla. Se aplican con el símbolo `|`. Ejemplo: ```html \

{{ car.name|upper }}\

\ ``` \### 6. \*\*Herencia de Plantillas\*\* Django permite la herencia de plantillas, lo que significa que puedes tener una plantilla base que otras plantillas extienden. \#### Plantilla base (`base.html`): ```html \ \<html lang="es"> \<head> \<meta charset="UTF-8"> \<title>{% block title %}Mi sitio{% endblock %}\</title> \</head> \<body> \<header> \

Mi aplicación de carros\

\</header> \
{% block content %} \ {% endblock %} \
\<footer> \

Derechos reservados © 2024\

\</footer> \</body> \</html> ``` \#### Plantilla que hereda de `base.html` (`car\_list.html`): ```html {% extends "my\_first\_app/base.html" %} {% block title %}Listado de carros{% endblock %} {% block content %} \

Listado de carros\

\
    {% for car in cars %} \
  • {{ car.name }} - {{ car.brand }}\
  • {% empty %} \
  • No hay carros disponibles.\
  • {% endfor %} \
{% endblock %} ``` \### 7. \*\*Bloques de Plantilla\*\* Los bloques, como `block title` y `block content`, son marcadores en la plantilla base que otras plantillas pueden sobrescribir. Esto facilita la creación de estructuras de página comunes. \### 8. \*\*Contexto en las Plantillas\*\* El contexto en Django es el conjunto de variables que pasas desde la vista a la plantilla. Estas variables son accesibles mediante las dobles llaves `{{ variable }}`. \### Resumen: \- \*\*Plantillas\*\*: Archivos HTML que contienen variables y lógica básica para generar contenido dinámico. \- \*\*Variables y etiquetas\*\*: Se utilizan para insertar datos dinámicos o lógica de control. \- \*\*Herencia de plantillas\*\*: Permite definir una estructura base y extenderla en diferentes páginas. \- \*\*Renderización\*\*: Usa la función `render()` en tus vistas para renderizar una plantilla con los datos del contexto. Si necesitas más detalles o ejemplos, ¡déjame saber!
que buena explicación ;)
Muy útil el base html ya que lo podemos reutilizar en las templates que queramos y así evitar la redundancia de código.