Regístrate para acceder a más de 15 cursos gratuitos de programación con un simulador

Solicitud-Respuesta Desarrollo con el framework Django

Django es un framework web que entiende cómo funciona la web: recibe solicitudes desde el navegador, las procesa y responde con una página. Lo mejor es que hace gran parte del trabajo por ti. Solo decides qué URL responde con qué función y diseño.

En esta lección aprenderás, paso a paso, a crear tus propias páginas web con Django.


¿Qué se necesita para crear una página?

Para tener una nueva página en tu sitio con Django, solo necesitas tres cosas:

  • Ruta (o ruta URL): Define qué dirección tendrá la página (por ejemplo, / o /about).
  • Vista (view): Es una función que recibe una solicitud y responde con contenido.
  • Plantilla (template): Es un archivo HTML con diseño y datos dinámicos.

Tú defines estos tres elementos y Django se encarga del resto.


Paso 1: Crear una ruta

Las rutas en Django se definen en un archivo llamado urls.py. En tu proyecto, está en la carpeta raíz del proyecto. Por ejemplo:

codica_django_blog/urls.py

Este archivo contiene una lista llamada urlpatterns donde defines las rutas del sitio.

Veamos un ejemplo inicial:

# codica_django_blog/urls.py
from django.contrib import admin
from django.urls import path

urlpatterns = [
    path('admin/', admin.site.urls),
]

Ahí solo tenemos la ruta para entrar al panel de administración de Django, en la dirección /admin.

Ahora, vamos a agregar nuestra primera página: la página de inicio.

Primero, importamos las vistas para poder usarlas:

from codica_django_blog import views

Luego, añadimos la ruta principal:

urlpatterns = [
    path('', views.index),  # esta línea muestra la página de inicio
    path('admin/', admin.site.urls),
]

El primer argumento de path es la ruta (en este caso, la raíz del sitio /). El segundo es la función que se va a ejecutar cuando un usuario entre a esa dirección: views.index.


Paso 2: Crear la vista

Las vistas son funciones de Python que suelen estar en un archivo llamado views.py. En este caso, creamos el archivo si no existe:

codica_django_blog/views.py

Agrega este contenido:

# codica_django_blog/views.py
from django.shortcuts import render

def index(request):
    return render(request, 'index.html', context={
        'who': 'World',
    })

Aquí estamos usando la función render, que combina un archivo HTML con algunos datos que le damos en el diccionario context.

En este caso, le estamos diciendo que "who" será igual a "World". Más adelante veremos cómo usar esa variable en HTML.


Paso 3: Crear una plantilla

Las plantillas están en su propia carpeta. Vamos a seguir estas instrucciones:

  1. Crea una carpeta llamada templates dentro del directorio codica_django_blog:

    codica_django_blog/templates/
  2. Dentro de esa carpeta, crea un archivo llamado index.html.

  3. Escribe el siguiente código HTML:

<h1>Hello, {{ who }}!</h1>

Django usará el valor de who enviado en el contexto ('World') para reemplazar {{ who }}. Al cargar la página, verás: "Hello, World!"


Ajustes necesarios en Django

Para que Django sepa dónde buscar las plantillas, debemos hacer dos configuraciones en settings.py.

1️⃣ Agregar la ruta a las plantillas:

# codica_django_blog/settings.py
TEMPLATES = [
    {
        ...
        'DIRS': [BASE_DIR / 'templates'],  # Asegúrate de agregar esta línea
        ...
    },
]

2️⃣ Registrar tu app para que Django sepa buscar en ella:

# codica_django_blog/settings.py
INSTALLED_APPS = [
    ...
    'codica_django_blog',  # Agrega esta línea al final de la lista
]

Crear una segunda página: /about

Ya que sabes cómo crear una página, hagamos otra como ejercicio. Vamos a crear una página accesible en /about.

1️⃣ En urls.py, agrega:

urlpatterns = [
    path('', views.index),
    path('about/', views.about),  # Esta es la nueva ruta
    path('admin/', admin.site.urls),
]

2️⃣ En views.py, agrega una nueva función para esa ruta:

def about(request):
    return render(request, 'about.html')

3️⃣ En la carpeta templates, crea un archivo llamado about.html con este HTML:

&lt;h1&gt;Sobre el blog&lt;/h1&gt;
&lt;p&gt;Este blog es un experimento usando Django en codica&lt;/p&gt;

Eso es todo. Si ahora entras a http://localhost:8000/about, verás esta nueva página.


Cuando visites tu sitio, deberías ver este resultado en la página principal:

Página inicio


Resumen

  • Django trabaja con el protocolo HTTP y nos permite crear sitios web de forma ordenada.
  • Para crear una página nueva, necesitas:
    • Una ruta (path) en el archivo urls.py.
    • Una vista (view) que procese el pedido.
    • Una plantilla (template) con el contenido HTML.
  • Usa la función render para combinar una vista con su plantilla.
  • Las plantillas van en una carpeta llamada templates, que debe ser registrada en la configuración (settings.py).
  • Puedes crear múltiples rutas y páginas, como / o /about.

Trabajo independiente

Repasa y guarda tu trabajo con Git

En esta actividad vamos a reforzar el contenido de la lección y registrar los avances con Git. Sigue estos pasos:

  1. Repite todo lo del contenido teórico de la lección en tu computadora.
  2. Guarda los cambios en Git usando los comandos git add y git commit.

Materiales adicionales

  1. URL dispatcher

Para acceder completo a curso necesitas un plan básico

El plan básico te dará acceso completo a todos los cursos, ejercicios y lecciones de Códica, proyectos y acceso de por vida a la teoría de las lecciones completadas. La suscripción se puede cancelar en cualquier momento.

Obtener acceso
130
cursos
1000
ejercicios
2000+
horas de teoría
3200
test

Obtén acceso

Cursos de programación para principiantes y desarrolladores experimentados. Comienza tu aprendizaje de forma gratuita

  • 130 cursos, 2000+ horas de teoría
  • 1000 ejercicios prácticos en el navegador
  • 360 000 estudiantes
Al enviar el formulario, aceptas el «Política de privacidad» y los términos de la «Oferta», y también aceptas los «Términos y condiciones de uso»

Nuestros graduados trabajan en empresas como:

Bookmate
Health Samurai
Dualboot
ABBYY