- ¿Qué se necesita para crear una página?
- Paso 1: Crear una ruta
- Paso 2: Crear la vista
- Paso 3: Crear una plantilla
- Ajustes necesarios en Django
- Crear una segunda página: /about
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:
Crea una carpeta llamada
templatesdentro del directoriocodica_django_blog:codica_django_blog/templates/Dentro de esa carpeta, crea un archivo llamado
index.html.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:
<h1>Sobre el blog</h1>
<p>Este blog es un experimento usando Django en codica</p>
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:
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 archivourls.py. - Una vista (
view) que procese el pedido. - Una plantilla (
template) con el contenido HTML.
- Una ruta (
- Usa la función
renderpara 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:
- Repite todo lo del contenido teórico de la lección en tu computadora.
- Guarda los cambios en Git usando los comandos
git addygit commit.
Materiales adicionales
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.