Django es un potente framework web de código abierto basado en Python que agiliza el proceso de creación y gestión de sitios web y aplicaciones web. Las aplicaciones Django son escalables, de alto rendimiento y seguras. También viene con una documentación muy buena sobre cada parte del framework.
En nuestra serie sobre Django, hemos estado explorando Django mediante la implementación de un sitio web de muestra con funciones básicas de blog. En esta guía, repasaremos los pasos para crear una vista de muestra para nuestra aplicación Django.
Requisitos previos
Para seguir esta guía, necesitarás los siguientes componentes.
- Un Ubuntu servidor con las configuraciones adecuadas. Obtenga más información sobre la configuración de un servidor Ubuntu.
- Configurado correctamente entorno de desarrollo de Python.
- Un servidor de bases de datos, por ejemplo, MySQL. Esta guía detalla la instalación y configuración de MySQL en un servidor Ubuntu.
Esta guía es una continuación de nuestra serie sobre Django. En primer lugar, será útil consultar las guías anteriores sobre la configuración de Django, el establecimiento de la conexión a la base de datos de Django, la creación de modelos, y la habilitación de la interfaz de administración de Django.
En esta guía, mostraremos cómo crear vistas de Django que permitirán a la aplicación web manejar adecuadamente las solicitudes web y devolver la respuesta correcta. Tal como lo describe la documentación oficial de Django, una respuesta web puede ser el contenido HTML de una página web, una redirección o un error HTTP. No hay un lugar fijo para almacenar las funciones de vista siempre que estén dentro de las rutas de Python. Sin embargo, existen convenciones populares para nombrar y ubicar los archivos. Esta guía seguirá esas convenciones.
Paso 1. Activación del entorno virtual
Django funciona mejor dentro de un entorno virtual de Python. Nuestra aplicación Django sample_app está establecida dentro de un entorno virtual dedicado. Primero, activa el entorno virtual:
|
1 2 3 |
cd sample_app/ . sample_app_env/bin/activate |
Paso 2. Creación de funciones de vista
Navega a nuestro random_app directorio que aloja los modelos para nuestro sitio web de blog:
|
1 |
cd random_app/ |
Aquí, el archivo views.py contendrá el código necesario para crear nuestras vistas. Ábrelo en un editor de texto:
|
1 |
nano views.py |

Necesitamos el render() función de la django.shortcuts biblioteca, por lo que la primera línea sigue siendo la misma. La render() función ayuda a combinar tanto una plantilla como un contexto para ser devueltos como el adecuado HttpResponse objeto.
La primera vista dará la bienvenida a los usuarios que lleguen a la página de inicio. Tendremos que importar la función HttpResponse() de la biblioteca de Django http:
|
1 2 3 4 5 6 7 8 |
from django.shortcuts import render from django.http import HttpResponse def index(request): return HttpResponse(Has aterrizado en la página de bienvenida') def individual_post(request): return HttpResponse('Los posts individuales aparecerán aquí') |

Guarda el archivo y cierra el editor.
Paso 3. Mapeo de URLs a vistas
En este momento, no hay ninguna URL asignada a estas funciones, por lo que son inaccesibles. Necesitamos agregar otro bloque urlpatterns dentro del archivo de configuración de URL. En Python, se le conoce como el archivo URLconf (configuración de URL).
Django necesita determinar el URLconf raíz módulo a utilizar. Luego, buscará en urlpatterns que contienen todos los patrones de URL en una estructura de lista. Luego, Django recorre el archivo hasta que encuentra la primera coincidencia. Una vez que encuentra una coincidencia, Django buscará su vista asociada. Esta función de vista recibirá datos relacionados con el patrón de URL y un HttpRequest objeto. Un error en cualquier punto de este proceso lo redirigirá a una vista de manejo de errores.
Abre el archivo urls.py de random_app en un editor de texto:
|
1 |
nano urls.py |
Introduce el siguiente código:
|
1 2 3 4 5 6 7 |
from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index'), path('post/', views.individual_post, name='individual_post') ] |

Guarda el archivo y cierra el editor.
Una vez hecho esto, también tendremos que incluir la ruta del archivo URL en el URLconf del directorio sample_app directory’s URLconf. De lo contrario, nuestra aplicación Django no lo reconocerá. Esto se debe a que el URLconf de sample_app está configurado como el ROOT_URLCONF en el archivo de configuración.
Navega al directorio de nuestra aplicación sample_app:
|
1 |
cd sample_app/sample_app/sample_app/ |
![]()
Abre el archivo urls.py en un editor de texto:
|
1 |
nano urls.py |

Introduce el siguiente código en el archivo:
|
1 2 3 4 5 6 7 |
from django.contrib import admin from django.urls import include, path urlpatterns = [ path('admin/', admin.site.urls), path('', include('random_app.urls')) ] |

Probemos nuestros cambios. Inicia el servidor de la aplicación Django en localhost:8000:
|
1 |
python manage.py runserver localhost:8000 |

Navega a la URL:
|
1 |
localhost:8000 |

Comprueba la URL de la publicación:
|
1 |
localhost:8000/posts |
Paso 4. Crear una publicación de blog
Hemos establecido nuestros patrones de URL y analizado sus flujos de trabajo. Es hora de añadir un blog de muestra y ver el resultado.
Desde el panel de administración, navega a la página de random_app :
|
1 |
localhost:8000/admin/random_app/ |

Haz clic en el enlace +Añadir de la fila Posts :

En la nueva página web, se presentará un formulario que consta de los siguientes campos.
- Título: El título de la publicación del blog.
- Slug: Se refiere a la parte de la dirección web válida con palabras clave legibles por humanos. Generalmente, los slugs se crean a partir del título de la publicación.
- Contenido: Cuerpo de la publicación del blog.
- Autor: El nombre de usuario correspondiente.
Haga clic en GUARDAR para enviar la publicación:

Paso 5. Mostrar los datos en la base de datos
En esta siguiente sección, trabajaremos con nuestra base de datos. Inicie sesión en MySQL como el usuario dedicado a Django:
|
1 |
mysql -u sample_app_user -p |

Verifiquemos si nuestra publicación se registró correctamente en la base de datos:
|
1 |
USE sample_app_data; |

|
1 |
SELECT * FROM random_app_post; |

¡Voilà! ¡La publicación se registró correctamente! Ahora puedes salir de la consola de MySQL.
Paso 6. Ajustes adicionales de las vistas
Hay algunas cosas más que podemos hacer con nuestras vistas. Abre el archivo en un editor de texto:
|
1 |
nano views.py |
El código debería verse así:
|
1 2 3 4 5 6 7 8 9 10 |
from django.shortcuts import render from django.http import HttpResponse from .models import Post def index(request): return HttpResponse('Hola, bienvenido a la página de inicio.') def individual_post(request): recent_post = Post.objects.get(id__exact=1) return HttpResponse(recent_post.title + ': ' + recent_post.contenido) |

Aquí, hemos agregado una declaración de import adicional para Post. La cadena entre comillas de HttpResponse también se reemplaza con datos de nuestra publicación de blog. Para hacer referencia a los datos, estamos utilizando el ID de la publicación de blog con el objeto asociado. El ID se almacena en una variable recent_post. Ahora, podemos extraer campos específicos del objeto agregando el campo con un separador de punto.
Una vez modificado, verifiquemos los cambios. Inicie el servidor de Django:
|
1 |
python manage.py runserver localhost:8000 |

Ahora, acceda a la página Posts :
|
1 |
localhost:8000/publicaciones |

Debería mostrar la publicación de blog que creamos.
Paso 7. Salir del proyecto
Para salir del servidor de Django, presione Ctrl + C desde la terminal. Para desactivar el entorno virtual de Python, ejecute el siguiente comando:
|
1 |
deactivate |
Reflexiones finales
En esta guía, hemos demostrado con éxito la creación de vistas, el mapeo de patrones de URL y la visualización de textos en una página web desde la base de datos de random_app en Django.Estos son conceptos fundamentales de Django que es necesario comprender y dominar.
Aquí hay más recursos para ayudarte a crear y administrar aplicaciones de Django:
- Creación de una aplicación Django con conexión a base de datos: un tutorial
- Construcción de una aplicación Django y Gunicorn con Docker en Ubuntu
- Cómo proteger y escalar una aplicación Django con Docker, Nginx y Let’s Encrypt
¡Feliz informática!

Comentarios
Aún no hay comentarios. Sea el primero.