Header Ads Widget

Ticker

6/recent/ticker-posts

Vistas y URL de Django

En este tutorial, veremos un poco más de cerca cómo funciona el enrutamiento en Django. Cualquier aplicación web necesita mirar las solicitudes Http entrantes y decidir qué hacer con esa solicitud. La mayoría de las veces, la aplicación recopila algunos datos relevantes, los empaqueta en una respuesta Http y los envía de vuelta al navegador. En Django, este proceso es manejado por dos archivos. El primero es urls.py y el segundo es views.py. El archivo urls.py es donde podemos configurar la URL para ver asignaciones de funciones, y el archivo views.py es donde podemos configurar funciones para que se activen cuando se visita una ruta en particular.


Crear un proyecto de Django

Para empezar a buscar URL y vistas de Django, primero necesitamos un proyecto de Django para empezar. Con Python y Django ya instalados en nuestro sistema, todo lo que tenemos que hacer es navegar a un directorio de nuestra elección e ingresar el comando django-admin startproject djangoblog .

python $ django-admin startproject djangoblog

Podemos usar PyCharm para abrir nuestro nuevo proyecto así.
nuevo proyecto de django en pycharm

Cuando crea por primera vez un proyecto de Django, crea un nombre de carpeta externa y una carpeta interna con el mismo nombre. Puede parecer un poco confuso al principio. Comprender que un proyecto de Django está hecho de aplicaciones individuales ayudará a aclarar esto. El nombre de la carpeta externa es el nombre del propio proyecto Django. El nombre de la carpeta interna es la aplicación base del proyecto. Esa aplicación raíz interna contiene los archivos familiares de __init__.py, asgi.py, settings.py, urls.py y wsgi.py.

En la terminal, queremos cd en la carpeta del proyecto y listar el contenido. Deberíamos ver el archivo manage.py y la carpeta interna de la aplicación djangoblog también.
archivo managepy django


Vistas y URL de Django

Lo primero que debemos entender es cómo las URL y las vistas funcionan juntas en Django.

diagrama de respuesta de solicitud de django

Cuando se realiza una solicitud web a una aplicación Django, es el trabajo del archivo urls.py determinar qué hacer con esa solicitud. Esto es lo que se conoce como enrutamiento en una aplicación web. Lo que podría tener URL configurado en su proyecto como /contact/stats/about-usy así sucesivamente. Cada una de esas rutas activará una función diferente en el archivo views.py . Cada función diferente realizará una operación diferente dependiendo de la ruta que el usuario haya elegido a través del navegador web.

Agregar una nueva ruta

Sigamos adelante y abramos el archivo urls.py que se encuentra en la carpeta raíz de la aplicación. Hemos eliminado los comentarios para que podamos ver simplemente con qué código inicial estamos comenzando.

archivo py de URL de django

Queremos agregar una ruta para una página sobre, por ejemplo. Aquí está el código resaltado para hacer eso.

djangoblog / urls.py

Lo que dice el código anterior es que cuando alguien visita la /aboutpágina en un navegador web, el archivo urls.py buscará en el archivo views.py y activará la about()función. Todavía no tenemos ese código en su lugar, así que creémoslo ahora.

crear viewspy en djangoblog

Una vez que se crea el nuevo archivo views.py en la carpeta interna de djangoblog, podemos configurar nuestra función.

djangoblog / views.py

Si hicimos todo correctamente, deberíamos poder iniciar ahora el servidor de desarrollo local de Python y probarlo. A continuación, ejecutamos el comando python manage.py runserver para iniciar el servidor.

djangoblog $ python manage.py runserver
Observación de cambios de archivos con StatReloader
Realización de comprobaciones del sistema ...

La verificación del sistema no identificó problemas (0 silenciados).

Tiene 17 migración (es) sin aplicar. Es posible que su proyecto no funcione correctamente hasta que aplique las migraciones para las aplicaciones: administrador, autenticación, tipos de contenido, sesiones.
Ejecute 'python manage.py migrate' para aplicarlos.
13 de febrero de 2020-12: 14: 35
Django versión 3.0.3, usando la configuración 'djangoblog.settings'
Iniciando el servidor de desarrollo en http://127.0.0.1:8000/
Salga del servidor con CTRL-BREAK.

Ahora podemos ejecutar el navegador y visitar http://127.0.0.1:8000/about/ para ver el resultado.

URL de django para ver

No es sexy, ¡pero la URL para ver el mapeo está funcionando! Se realiza una solicitud a /about, el archivo urls.py se configura para activar la función about () en views.py, y esa función devuelve un objeto HttpResponse simple con la cadena 'About!'.

Creación de una segunda URL / mapeo de vistas

Este proceso puede continuar y puede agregar tantas rutas diferentes y funciones de visualización como necesite para proporcionar cualquier resultado que esté buscando. Todavía no tenemos una página de inicio, así que podemos agregarla ahora. Esta vez, definiremos la función home () en nuestro archivo views.py, y una vez que esté en su lugar, ajustaremos el archivo urls.py para vincular los dos.

djangoblog / views.py Una
vez más, definiremos una función simple en views.py . Esta vez, la función se llama home () . Su único trabajo es aceptar la solicitud Http entrante y devolver una respuesta con un texto simple.

Ahora debemos configurar urls.py una vez más. Observe cómo en la tercera línea estamos importando ese archivo de vistas. Esto es lo que nos permite hacer referencia a las funciones de views.py dentro de urls.py. La línea 6 es una expresión simple que significa que cuando va al dominio sin parámetros de URL adicionales, activa la función home () dentro de views.py.

Probar esta segunda ruta nos muestra que, de hecho, esta combinación de funciones de URL y Ver también funciona muy bien.

página de inicio de la URL de configuración de django


Resumen de vistas y URL de Django

Las URL son la puerta de entrada a su aplicación web en Django. Puede configurar cómo el enrutamiento ocurre en urls.py . El archivo views.py es donde puede definir sus funciones de vista. Estas funciones son las que determinan lo que hace la aplicación en función de la URL que visita un usuario en un navegador web. Este es un concepto similar a los marcos de aplicaciones web en cualquier otro idioma. El enfoque de Django es elegante y fácil de usar.


Publicar un comentario

0 Comentarios