El curso de creación de sistemas con Python y Django es una oportunidad imperdible para todo aquel que quiera profundizar en el desarrollo de aplicaciones web. En este capítulo, cubriremos un aspecto crucial de Django: crear y manipular plantillas. Además, exploraremos cómo funcionan las vistas en Django y cómo podemos usarlas para hacer que nuestras aplicaciones sean más dinámicas e interactivas.
18.4 Plantillas en Django
En Django, las plantillas son la capa responsable de presentar datos al usuario. Están escritos en un lenguaje llamado Django Template Language (DTL), que es un lenguaje de marcado similar al HTML, pero con algunas adiciones útiles que nos permiten insertar datos dinámicos en nuestras páginas.
Las plantillas se almacenan en archivos .html y se pueden organizar en directorios como desee. Sin embargo, es común colocar todas las plantillas relacionadas con una aplicación determinada en un directorio llamado 'plantillas' dentro del directorio de la aplicación.
Para crear una plantilla, simplemente cree un nuevo archivo .html y comience a escribir su código DTL. Puede utilizar todas las etiquetas HTML normales, pero también tiene la opción de utilizar etiquetas DTL especiales, que están encerradas entre llaves dobles, como {{ }} y {% %}. Estas etiquetas le permiten insertar variables, bucles, condicionales y otras estructuras de control en sus plantillas.
Por ejemplo, si desea mostrar el nombre de usuario en una página, puede pasar una variable llamada 'nombre de usuario' a la plantilla y luego usar la etiqueta {{ nombre de usuario }} para insertar el valor de esa variable en su página.
Vistas en Django
Las vistas, por otro lado, son la capa responsable de la lógica empresarial de sus aplicaciones. Son funciones o clases de Python que toman una solicitud HTTP, la procesan de alguna manera y luego devuelven una respuesta HTTP.
Cada vista en Django se asigna a una o más URL, lo que significa que cuando un usuario visita una determinada URL en su sitio, Django ejecutará la vista correspondiente y devolverá el resultado al usuario.
Las vistas pueden hacer muchas cosas diferentes, dependiendo de lo que necesite su aplicación. Pueden renderizar plantillas, devolver datos en formato JSON, redirigir al usuario a otra página, entre otras cosas.
Para crear una vista, necesita definir una función o clase de Python en su archivo views.py. Esta función o clase debe recibir al menos un argumento, que es una instancia de la clase HttpRequest. Luego debe devolver una instancia de la clase HttpResponse o una de sus subclases.
Por ejemplo, así es como podría definir una vista simple que represente una plantilla:
def mi_vista(solicitud): devolver render(solicitud, 'mi_plantilla.html')
Django proporciona muchas herramientas y abstracciones útiles para facilitar la creación de vistas, como la función render(), que representa una plantilla y devuelve el resultado como una respuesta HTTP. Además, Django también admite vistas basadas en clases, que pueden ser más reutilizables y modulares que las vistas basadas en funciones.
En resumen, las plantillas y las vistas son dos piezas fundamentales de Django que trabajan juntas para crear aplicaciones web dinámicas e interactivas. Con una sólida comprensión de estos conceptos, estará bien preparado para continuar su viaje de aprendizaje en el mundo del desarrollo web con Python y Django.