Guía de inicio de Django: Construye rápidamente tu primera aplicación web
2/19/2026
7 min read
# Guía de inicio de Django: Construye rápidamente tu primera aplicación web
Django es un framework web de Python de alto nivel, diseñado para un desarrollo rápido y un diseño limpio. Sigue la arquitectura Modelo-Plantilla-Vista (MTV), fomentando la reutilización de código y la modularización. Esta guía te guiará paso a paso en la creación de una aplicación Django sencilla, para que puedas empezar rápidamente.
## 1. Configuración del entorno
Primero, debes asegurarte de que Python esté instalado en tu sistema. Django recomienda usar Python 3.6 o superior.
### 1.1 Instalación de Python
Si tu sistema no tiene Python instalado, puedes descargarlo e instalarlo desde el [sitio web oficial de Python](https://www.python.org/downloads/).
### 1.2 Creación de un entorno virtual (Virtual Environment)
Para aislar las dependencias entre diferentes proyectos, se recomienda encarecidamente utilizar un entorno virtual.
1. Abre una terminal o símbolo del sistema.
2. Crea un directorio de proyecto, por ejemplo `myproject`:
```bash
mkdir myproject
cd myproject
```
3. Crea y activa el entorno virtual:
```bash
python3 -m venv venv # o python -m venv venv
source venv/bin/activate # Linux/macOS
venv\Scripts\activate # Windows
```
Después de activar el entorno virtual, el indicador de tu terminal mostrará `(venv)`, lo que indica que estás utilizando el entorno virtual.
### 1.3 Instalación de Django
En el entorno virtual activado, usa pip para instalar Django:
```bash
pip install Django
```
Verifica si la instalación fue exitosa:
```bash
python -m django --version
```
Deberías poder ver el número de versión de Django.
## 2. Creación de un proyecto Django
Después de instalar Django, puedes crear un nuevo proyecto Django.
1. Aún en tu directorio de proyecto (`myproject`), ejecuta el siguiente comando:
```bash
django-admin startproject mysite
```
Esto creará un directorio llamado `mysite` dentro del directorio `myproject`, que contiene la estructura básica de archivos del proyecto Django.
2. Entra al directorio `mysite`:
```bash
cd mysite
```
3. La estructura de directorios del proyecto Django es la siguiente:
```
mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
asgi.py
wsgi.py
```
* `manage.py`: Una herramienta de línea de comandos para administrar el proyecto Django.
* `mysite/`: Un paquete de Python que contiene la configuración del proyecto.
* `__init__.py`: Un archivo vacío que le dice a Python que este directorio debe ser tratado como un paquete de Python.
* `settings.py`: El archivo de configuración del proyecto, como la configuración de la base de datos, el modo de depuración, etc.
* `urls.py`: Configuración de enrutamiento de URL, que mapea las URL a las funciones de vista.
* `asgi.py`: Archivo de configuración de ASGI (Asynchronous Server Gateway Interface), utilizado para implementar aplicaciones asíncronas.
* `wsgi.py`: Archivo de configuración de WSGI (Web Server Gateway Interface), utilizado para implementar aplicaciones síncronas tradicionales.
## 3. Iniciar el servidor de desarrollo
Django viene con un servidor de desarrollo ligero, conveniente para el desarrollo y las pruebas locales.
1. En el directorio `mysite`, ejecute el siguiente comando:
```bash
python manage.py runserver
```
2. Abra su navegador y visite `http://127.0.0.1:8000/`. Debería ver la página "It worked! Congratulations on your first Django-powered page.".
## 4. Crear una aplicación Django
Un proyecto Django puede contener múltiples aplicaciones. Creemos una aplicación llamada `myapp`.
1. Abra una nueva ventana de terminal (mantenga el servidor de desarrollo en ejecución).
2. En el directorio `mysite`, ejecute el siguiente comando:
```bash
python manage.py startapp myapp
```
Esto creará un directorio llamado `myapp` en el directorio `mysite`, que contiene la estructura de archivos de la aplicación Django.
3. La estructura de directorios de la aplicación Django es la siguiente:
```
myapp/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
views.py
```
* `__init__.py`: Un archivo vacío que le dice a Python que este directorio debe ser tratado como un paquete de Python.
* `admin.py`: Se utiliza para configurar el panel de administración de Django.
* `apps.py`: Configuración de la aplicación.
* `migrations/`: Se utiliza para administrar las migraciones de la base de datos.
* `models.py`: Define los modelos de datos (tablas de la base de datos).
* `tests.py`: Escribir casos de prueba.
* `views.py`: Define las funciones de vista, maneja las solicitudes y devuelve las respuestas.
4. En `mysite/settings.py`, agregue `myapp` a la lista `INSTALLED_APPS`:
```python
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myapp', # Agregar myapp
]
```
## 5. Crear una vista simple
Ahora crearemos una vista simple para mostrar "Hello, Django!" en el navegador.
1. Edite el archivo `myapp/views.py` y agregue el siguiente código:
```python
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, Django!")
```
2. Cree un archivo `myapp/urls.py` y asigne la URL a la función de vista:
```python
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
```
3. Incluye `myapp/urls.py` en `mysite/urls.py`:
```python
from django.urls import include, path
from django.contrib import admin
urlpatterns = [
path('admin/', admin.site.urls),
path('myapp/', include('myapp.urls')), # Agrega la configuración de URL de myapp
]
```
4. Visita `http://127.0.0.1:8000/myapp/`. Deberías ver la página "Hello, Django!".
## 6. Crea un Modelo
Creemos un modelo simple para almacenar algunos datos.
1. Edita el archivo `myapp/models.py`, agrega el siguiente código:
```python
from django.db import models
class Question(models.Model):
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
def __str__(self):
return self.question_text
```
Esto define un modelo llamado `Question`, que contiene dos campos: `question_text` (CharField) y `pub_date` (DateTimeField).
2. Crea y aplica las migraciones de la base de datos:
```bash
python manage.py makemigrations myapp
python manage.py migrate
```
El comando `makemigrations` creará archivos de migración basados en tu modelo, y el comando `migrate` aplicará las migraciones a la base de datos.
## 7. Usa el Panel de Administración de Django
Django proporciona un poderoso panel de administración que facilita la gestión de tus datos.
1. Crea un superusuario:
```bash
python manage.py createsuperuser
```
Sigue las instrucciones para ingresar un nombre de usuario, correo electrónico y contraseña.
2. Edita el archivo `myapp/admin.py`, registra el modelo `Question`:
```python
from django.contrib import admin
from .models import Question
admin.site.register(Question)
```
3. Visita `http://127.0.0.1:8000/admin/`, inicia sesión con el superusuario que creaste. Deberías ver el módulo "Questions", donde puedes agregar, editar y eliminar preguntas.
## 8. Usa Plantillas
Usar plantillas te permite generar páginas HTML de manera más flexible.
1. En el directorio `myapp`, crea un directorio llamado `templates` y, dentro de este, crea otro directorio llamado `myapp` ( `myapp/templates/myapp` ).\n\n2. En el directorio `myapp/templates/myapp`, crea un archivo llamado `index.html` y agrega el siguiente código:\n\n ```html\n \n\n \n
¡Hola, Django!
\n La hora actual es: {{ current_time }} \n \n \n ```\n\n3. Edita el archivo `myapp/views.py` y utiliza la plantilla:\n\n ```python\n from django.shortcuts import render\n import datetime\n\n def index(request):\n now = datetime.datetime.now()\n return render(request, 'myapp/index.html', {'current_time': now})\n ```\n\n La función `render` cargará la plantilla y pasará los datos a la plantilla para su renderización. // `render` function will load the template and pass the data to the template for rendering.\n\n4. Vuelve a visitar `http://127.0.0.1:8000/myapp/`. Deberías poder ver la página que contiene la hora actual.\n\n## 9. Conclusión\n\nA través de esta guía, has aprendido los conceptos básicos y el uso de Django, incluyendo la configuración del entorno, la creación de proyectos y aplicaciones, la definición de modelos, la creación de vistas y el uso de plantillas. // Through this guide, you have learned the basic concepts and usage of Django, including environment setup, creating projects and applications, defining models, creating views, and using templates.\nEsto es solo el comienzo. Django ofrece una gran cantidad de funciones que puedes seguir aprendiendo y explorando para construir aplicaciones web más complejas. // This is just the beginning, Django provides a wealth of features that you can continue to learn and explore to build more complex web applications.\nPublished in Technology





