Las vistas en Django son una parte fundamental de la estructura de una aplicación Django. Son responsables de procesar las solicitudes HTTP y devolver una respuesta al usuario. En este capítulo, exploraremos cómo crear una vista simple en Django usando Python.
Antes de comenzar, es importante comprender qué es una vista. En Django, una vista es una función de Python que recibe una solicitud web y devuelve una respuesta. Esta respuesta podría ser HTML de una página web, una redirección, un error 404, un archivo XML, una imagen o cualquier otra cosa que pueda enviarse a través de HTTP.
Para crear una vista en Django, necesitas hacer tres cosas:
- Defina la vista en el archivo views.py de su aplicación
- Configurar una URL para la vista
- Escribe el código HTML para la vista (opcional)
Comencemos creando una vista simple. Primero, abra el archivo views.py de su aplicación Django. Este archivo es donde define todas sus vistas. Una vista es simplemente una función de Python, así que comencemos definiendo una función. Por ejemplo:
def hola_mundo(solicitud): return HttpResponse("¡Hola mundo!")
Esta es una vista muy simple. Toma un objeto HttpRequest como parámetro (al que llamamos "solicitud") y devuelve un objeto HttpResponse. En este caso, la respuesta es la cadena "¡Hola mundo!".
Ahora que tenemos una vista, necesitamos configurar una URL para ella. Esto se hace en el archivo urls.py de su aplicación. Este archivo es donde defines todas tus URL. Una URL es simplemente un patrón que Django intenta hacer coincidir con la URL solicitada por el usuario. Si la coincidencia tiene éxito, Django llama a la vista asociada con la URL.
Para configurar una URL para nuestra vista, agreguemos la siguiente línea al archivo urls.py:
ruta('hola/', vistas.hola_mundo)
Esta línea le dice a Django que siempre que un usuario solicite la URL /hello/, debe llamar a la vista hello_world().
Ahora, si inicias el servidor Django y vas a http://localhost:8000/hello/ en tu navegador, verás el mensaje "¡Hola, mundo!".
Finalmente, hablemos sobre cómo escribir el código HTML para nuestra vista. Aunque nuestra vista actual solo devuelve una cadena simple, la mayoría de las veces querrás devolver un archivo HTML completo.
Para hacer esto, puedes usar el sistema de plantillas de Django. Una plantilla es simplemente un archivo HTML con un código especial que le permite insertar variables y otra lógica directamente en el HTML.
Para usar una plantilla, necesita crear un archivo HTML en el directorio de plantillas de su aplicación. Por ejemplo, puedes crear un archivo llamado hola.html con el siguiente contenido:
<html> <cuerpo> <p>¡Hola mundo!</p> </cuerpo> </html>
Luego puedes modificar tu vista para usar esta plantilla de la siguiente manera:
def hola_mundo(solicitud): devolver render(solicitud, 'hola.html')
La función render() toma un objeto HttpRequest, el nombre de una plantilla y, opcionalmente, un diccionario de variables de contexto, y devuelve un objeto HttpResponse con el texto de la plantilla renderizada.
Eso es todo lo que necesitas saber para crear una vista simple en Django. Las vistas son una parte importante de cualquier aplicación Django y comprender cómo funcionan es esencial para convertirse en un desarrollador Django eficaz.