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.py y wsgi.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.py y 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.py dirigen 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...