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.\n
Published in Technology

You Might Also Like