Introducción
Django es un framework web de alto nivel que permite desarrollar aplicaciones rápidas, seguras y escalables utilizando el lenguaje Python.
1. Instalación
Se recomienda el uso de un entorno virtual para mantener las librerías organizadas por proyecto.
# Crear el entorno virtual
python -m venv venv
# Activar en Windows
.\venv\Scripts\activate
# Activar en macOS/Linux
source venv/bin/activate
# Instalar el framework
pip install django
2. Creación del Proyecto
El proyecto contiene la configuración principal del sitio web.
django-admin startproject mi_sitio .
3. Creación de Aplicaciones
Un proyecto se divide en aplicaciones independientes para cada funcionalidad.
python manage.py startapp core
Registra la aplicación en el archivo mi_sitio/settings.py:
INSTALLED_APPS = [
...
'core',
]
Estructura MVT
4. Modelos y Base de Datos
Los modelos definen las tablas de la base de datos mediante clases de Python en models.py.
from django.db import models
class Articulo(models.Model):
titulo = models.CharField(max_length=200)
contenido = models.TextField()
publicado = models.BooleanField(default=True)
Para aplicar los cambios, ejecuta las migraciones:
python manage.py makemigrations
python manage.py migrate
5. Vistas y URLs
La vista maneja la lógica y las URLs dirigen al usuario a la vista correcta.
core/views.py
from django.shortcuts import render
def home(request):
return render(request, 'home.html')
core/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.home, name='home'),
]
Proyecto de Ejemplo: Blog Básico
Sigue estos pasos para un ejemplo funcional:
- 1. Crea el modelo en
models.pyy migra. - 2. Crea un superusuario para gestionar datos:
python manage.py createsuperuser. - 3. Crea una vista que obtenga los objetos:
articulos = Articulo.objects.all(). - 4. Muestra los datos en un archivo HTML usando etiquetas
{{ }}.
Inicia el servidor para ver los resultados:
Recursos en Español
| Fuente | Descripción | Acceso |
|---|---|---|
| Documentación Oficial | Guía oficial traducida al español. | Ir a la web |
| Tutorial MDN | Excelente curso desde cero en español. | Ir a la web |
| Django Girls | Guía paso a paso muy amigable. | Ir a la web |