Django es un framework de python que te permite crear aplicaciones web modernas de manera rápida y sencilla. Si ya tienes conocimientos sobre el lenguaje de programación python: como variables, bucles, o listas, no deberías tener muchos problemas para asimilar los conceptos básicos de este software.
Modelo Vista Plantilla
Django utiliza el patrón de diseño MVT (Model View Template), en español «modelo vista plantilla». Este patrón separa las responsabilidades de una aplicación web en 3 capas bien diferenciadas. Es similar al diseño MVC (Modelo, Vista, Controlador) utilizado por otros frameworks como Spring o .Net Core.
El Modelo
Se encarga de la lógica de negocio de la aplicación, interactuando con la base de datos.
La Vista
Gestiona las peticiones de los usuarios, procesa los datos del modelo y retorna la respuesta correspondiente a la plantilla.
La Plantilla
Presenta al usuario la información solicitada de manera estructurada.
Primeros pasos con Django
A continuación vamos a dar nuestros primeros pasos con Django para hacer un proyecto simple que demuestre la funcionalidad básica del framework.
Requisitos
Lo primero que necesitamos es tener instalado python en nuestro sistema. Para ello accedemos al terminal y escribimos lo siguiente:
python --version
Python 3.13.6
Si obtenemos una versión de python 3 podemos seguir adelante. En caso contrario debemos descargar la versión de python 3 correspondiente a nuestro sistema operativo desde este sitio web.
El segundo requisito es un editor de código como Visual Studio Code.
Crear un entorno virtual
Python viene con venv, un modulo que nos permite crear entornos virtuales dedicados para cada una de las diferentes instalaciones de Django que guardamos en el sistema.
A la hora de establecer un nuevo entorno abrimos el terminal y accedemos al directorio donde tenemos nuestros proyectos. Creamos una nueva carpeta con el comando mkdir.
$ mkdir proyecto1 $ cd proyecto1
Escribimos lo siguiente:
$ ...\proyecto1> python -m venv .venv
La instrucción python -m venv .venv le da a nuestro entorno el nombre .venv. Ahora tenemos que activarlo según nuestro sistema operativo.
En Windows: .\.venv\Scripts\activate
En Mac: source .venv/bin/activate
Si todo ha salido bien deberíamos ver el nombre del entorno (.venv) prefijado en el terminal, indicando que se ha activado correctamente.
(.venv) $ ...proyecto1>
Cuando terminemos de trabajar lo desactivaremos con la instrucción: deactivate
Instalar Django
Ahora que ya tenemos activado nuestro entorno instalamos la última versión de Django con el comando:
(.venv) $ ...proyecto1> python -m pip install django
Crear un nuevo proyecto con Django
Si la instalación de Django fue exitosa ya estamos listos para crear el proyecto. Por lo tanto (recuerda que debemos estar dentro del directorio proyecto1) escribimos el comando django-admin startproject cars . . Si no ponemos el punto (.) al final del nombre cars la estructura del proyecto seria diferente.
(.venv) $ ...proyecto1> django-admin startproject cars .
Iniciamos el servidor local de desarrollo que incluye Django con el comando python manage.py runserver.
(.venv) $ ...proyecto1> python manage.py runserver
System check identified no issues (0 silenced). You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions. Run 'python manage.py migrate' to apply them. September 01, 2025 - 20:29:53 Django version 5.2.5, using settings 'cars.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CTRL-BREAK. ...
Si accedemos a http://127.0.0.1:8000/ deberíamos ver lo siguiente:
Indicando que la instalación se realizó correctamente.
Estructura de un proyecto web Django
Vamos a usar el editor de código para ver los directorios y archivos que ha generado Django. Desde el mismo terminal podemos iniciar Visual Studio Code escribiendo code . .
Como podemos ver tenemos una base de datos sqlite3 solo para el desarrollo local.
El archivo settings.py tiene la configuración de diferentes aspectos del proyecto, como la base de datos a utilizar, el lenguaje, la ubicación de las plantillas o las apps instaladas.
En el archivo urls.py se establecen las urls que conectarán con las vistas.
Creando una App en Django
A continuación vamos a añadir una App a nuestro proyecto cars. Un proyecto Django puede tener muchas apps, cada una de ellas con una funcionalidad específica. De hecho, el proyecto ya viene integrado con 6 apps: admin, auth, contenttypes, sessions, messages y staticfiles. Se encuentran definidas en el archivo de configuración settings.py. Cada vez que creamos una app la tenemos que incluir en esta lista.
Volvemos al terminal y escribimos el comando: python manage.py startapp home.
(.venv) $ ...proyecto1> python manage.py startapp home
Y en settings.py añadimos la app home a las apps instaladas:
Creando la vista home
Una simple vista que acepta una solicitud http y responde con una cadena de texto.
Abre el archivo views.py de la app home y inserta lo siguiente:
from django.http import HttpResponse def home_view(request): return HttpResponse("Home Page")
Configurando las urls
Crea un nuevo archivo urls.py en la app home y establece una url que enlace con la vista anterior.
from django.urls import path from .views import home_view urlpatterns = [ path('home/', home_view, name='home'), ]
También necesitamos modificar el archivo urls.py del proyecto cars.
from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('', include("home.urls")), # Incluye las urls de home ]
Con esto ya podemos iniciar el servidor con python manage.py runserver.
Si vamos a http://127.0.0.1:8000/home obtenemos la respuesta.
Sumario
- Hemos creado un entorno virtual con el módulo venv de python.
- Instalamos el framework Django con python -m pip install django.
- Hemos creado un un proyecto y una app.
- Finalmente enrutamos una url con una vista.
En la 2º parte estableceremos un nuevo proyecto en el que crearemos un modelo para trabajar con la base de datos y mostraremos la información en plantillas html.
0 comentarios