Curso de python nivel medio
¡Vamos a aprender sobre Django, uno de los frameworks más populares para desarrollar aplicaciones web con Python!
Introducción a Django
Django es un framework de alto nivel para desarrollar aplicaciones web rápidamente y con menos código. Fue diseñado para que los desarrolladores puedan centrarse en escribir su aplicación sin preocuparse demasiado por los detalles de bajo nivel. Django sigue el patrón de diseño Modelo-Vista-Controlador (MVC), que separa la lógica de la aplicación en diferentes componentes para facilitar el desarrollo y el mantenimiento.
1. Instalación de Django
Antes de empezar a trabajar con Django, necesitas instalarlo en tu entorno de desarrollo. La forma más sencilla de instalar Django es usando pip, el gestor de paquetes de Python.
Paso 1: Instalar Django
Abre la terminal o línea de comandos y ejecuta:
1pip install django
Esto instalará la última versión de Django disponible.
Verificar la instalación
Para asegurarte de que Django se ha instalado correctamente, puedes verificar la versión instalada con:
1django-admin --version
Deberías ver algo como:
4.x.x
Esto indica que Django se instaló correctamente.
2. Creación de un proyecto Django
Un proyecto Django es una colección de configuraciones y aplicaciones para tu sitio web. Vamos a crear un proyecto nuevo llamado mi_proyecto.
Paso 1: Crear el proyecto
Ejecuta el siguiente comando en la terminal para crear un nuevo proyecto:
1django-admin startproject mi_proyecto
Este comando crea una carpeta llamada mi_proyecto con la siguiente estructura básica:
mi_proyecto/
manage.py
mi_proyecto/
__init__.py
settings.py
urls.py
asgi.py
wsgi.py
manage.py: Un script que te ayuda a gestionar el proyecto (por ejemplo, para iniciar el servidor de desarrollo).settings.py: Contiene todas las configuraciones del proyecto.urls.py: Define las rutas de URL de tu aplicación.asgi.pyywsgi.py: Son configuraciones para la interfaz del servidor, que normalmente no necesitarás modificar.
Paso 2: Iniciar el servidor de desarrollo
Para asegurarte de que todo funciona correctamente, inicia el servidor de desarrollo de Django con el siguiente comando:
1python manage.py runserver
Esto iniciará un servidor local y mostrará algo como:
Starting development server at http://127.0.0.1:8000/
Abre tu navegador web y visita http://127.0.0.1:8000/. Deberías ver una página de bienvenida de Django, lo que indica que tu proyecto está funcionando correctamente.
3. Modelo-Vista-Controlador (MVC) en Django
Django sigue un patrón muy similar al Modelo-Vista-Controlador (MVC), aunque usa una terminología ligeramente diferente:
- Modelo (Model): Representa los datos y la lógica de negocio. En Django, defines modelos en
models.py. - Vista (View): Gestiona la presentación de los datos. En Django, las vistas están definidas en
views.pyy controlan lo que el usuario ve. - Controlador (Controller): En Django, esto se maneja a través del sistema de URLs y las vistas. Las URLs en
urls.pydirigen las solicitudes a las vistas apropiadas.
Ejemplo básico de MVC en Django
Supongamos que quieres crear una aplicación sencilla que muestre una lista de tareas.
Paso 1: Crear una aplicación
Dentro de tu proyecto, crea una nueva aplicación llamada tareas:
1python manage.py startapp tareas
Esto creará una carpeta tareas/ con su propia estructura de archivos.
Paso 2: Definir un modelo (Model)
En tareas/models.py, define el modelo para una tarea:
1from django.db import models 2 3class Tarea(models.Model): 4 titulo = models.CharField(max_length=100) 5 descripcion = models.TextField() 6 completada = models.BooleanField(default=False) 7 8 def __str__(self): 9 return self.titulo
Paso 3: Crear una vista (View)
En tareas/views.py, define una vista simple para mostrar una lista de tareas:
1from django.shortcuts import render 2from .models import Tarea 3 4def lista_tareas(request): 5 tareas = Tarea.objects.all() 6 return render(request, 'tareas/lista_tareas.html', {'tareas': tareas})
Paso 4: Configurar la URL (Controller)
En tareas/urls.py, configura la URL para la vista:
1from django.urls import path 2from . import views 3 4urlpatterns = [ 5 path('', views.lista_tareas, name='lista_tareas'), 6]
Asegúrate de incluir estas URLs en tu archivo mi_proyecto/urls.py:
1from django.contrib import admin 2from django.urls import include, path 3 4urlpatterns = [ 5 path('admin/', admin.site.urls), 6 path('tareas/', include('tareas.urls')), 7]
Paso 5: Crear una plantilla (Template)
En la carpeta tareas/templates/tareas/, crea un archivo lista_tareas.html para mostrar la lista de tareas:
1<!DOCTYPE html> 2<html> 3<head> 4 <title>Lista de Tareas</title> 5</head> 6<body> 7 <h1>Mis Tareas</h1> 8 <ul> 9 {% for tarea in tareas %} 10 <li>{{ tarea.titulo }} - {{ tarea.descripcion }}</li> 11 {% endfor %} 12 </ul> 13</body> 14</html>
4. Migraciones y administración
Migraciones
Las migraciones en Django son una forma de propagar cambios que realizas en tus modelos (como agregar un nuevo campo o cambiar el tipo de un campo) a la base de datos.
Paso 1: Crear y aplicar migraciones
Para crear las migraciones necesarias para tus modelos, ejecuta:
1python manage.py makemigrations
Esto generará los archivos de migración. Luego, aplica las migraciones a la base de datos:
1python manage.py migrate
Administración de Django
Django incluye una interfaz de administración que te permite gestionar tus datos de manera fácil.
Paso 1: Crear un usuario administrador
Primero, crea un superusuario para acceder a la interfaz de administración:
1python manage.py createsuperuser
Sigue las instrucciones para establecer un nombre de usuario, correo electrónico y contraseña.
Paso 2: Registrar el modelo en la administración
En tareas/admin.py, registra el modelo Tarea para que sea visible en la administración:
1from django.contrib import admin 2from .models import Tarea 3 4admin.site.register(Tarea)
Paso 3: Acceder a la interfaz de administración
Inicia el servidor de desarrollo de nuevo si no lo tienes corriendo:
1python manage.py runserver
Luego, visita http://127.0.0.1:8000/admin/, inicia sesión con el superusuario que creaste, y podrás gestionar tus tareas desde la interfaz de administración de Django.
Conclusión
Django es un framework poderoso que te permite desarrollar aplicaciones web rápidamente y de manera eficiente. Con él, puedes crear modelos para manejar tus datos, vistas para controlar lo que los usuarios ven, y URLs para gestionar cómo las solicitudes son dirigidas a tus vistas. Las migraciones te permiten actualizar tu base de datos fácilmente, y la administración de Django te ofrece una interfaz lista para usar para gestionar tus datos. ¡Practica estos pasos para familiarizarte con el flujo de trabajo básico de Django!
- Loading...