2 usuarios conectados

Desarrollo web con Python. Frameworks. Django

Comparte esto

Continuando con el desarrollo web con Python, ahora vamos a explorar Django, un framework web de alto nivel y completo. A diferencia de Flask, Django viene con muchas funcionalidades integradas "de fábrica", lo que lo hace ideal para construir aplicaciones web complejas de manera rápida y organizada.

Django: Un Framework Web Completo para Python

Django sigue la arquitectura de diseño MTV (Model-Template-View), que es una variación del patrón MVC (Model-View-Controller). Esta arquitectura promueve la separación de preocupaciones, lo que hace que el código sea más fácil de mantener y escalar.

Características Clave de Django:

Un Ejemplo Sencillo de Django:

Para crear una aplicación web con Django, generalmente seguirías estos pasos (simplificados):

  1. Crear un Proyecto Django:

    Bash
    django-admin startproject mi_sitio_web
    cd mi_sitio_web
    
  2. Crear una Aplicación Django (dentro del proyecto):

    Bash
    python manage.py startapp mi_aplicacion
    
  3. Definir un Modelo (en mi_aplicacion/models.py):

    Python
    from django.db import models
    
    class Producto(models.Model):
        nombre = models.CharField(max_length=100)
        precio = models.DecimalField(max_digits=8, decimal_places=2)
    
        def __str__(self):
            return self.nombre
    
  4. Crear y Aplicar Migraciones (para crear la tabla en la base de datos):

    Bash
    python manage.py makemigrations mi_aplicacion
    python manage.py migrate
    
  5. Definir una Vista (en mi_aplicacion/views.py):

    Python
    from django.shortcuts import render
    from .models import Producto
    
    def lista_productos(request):
        productos = Producto.objects.all()
        return render(request, 'mi_aplicacion/lista_productos.html', {'productos': productos})
    
  6. Crear una Plantilla (en mi_aplicacion/templates/mi_aplicacion/lista_productos.html):

    HTML
    <!DOCTYPE html>
    <html>
    <head>
        <title>Lista de Productos</title>
    </head>
    <body>
        <h1>Productos Disponibles</h1>
        <ul>
            {% for producto in productos %}
                <li>{{ producto.nombre }} - ${{ producto.precio }}</li>
            {% empty %}
                <li>No hay productos disponibles.</li>
            {% endfor %}
        </ul>
    </body>
    </html>
    
  7. Configurar las URLs (en mi_sitio_web/urls.py y/o mi_aplicacion/urls.py):

    Python
    # mi_sitio_web/urls.py
    from django.contrib import admin
    from django.urls import path, include
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('productos/', include('mi_aplicacion.urls')),
    ]
    
    Python
    # mi_aplicacion/urls.py
    from django.urls import path
    from . import views
    
    urlpatterns = [
        path('', views.lista_productos, name='lista_productos'),
    ]
    
  8. Ejecutar el Servidor de Desarrollo:

    Bash
    python manage.py runserver
    

    Luego puedes acceder a http://127.0.0.1:8000/productos/ en tu navegador para ver la lista de productos.

Cuándo Elegir Django:

Django es una excelente opción para construir aplicaciones web sofisticadas y bien estructuradas. Su enfoque completo y su rica funcionalidad lo convierten en una herramienta poderosa para desarrolladores web Python. Si bien la curva de aprendizaje inicial puede ser un poco más pronunciada que la de Flask debido a su mayor tamaño y convenciones, la productividad y la organización que ofrece a largo plazo son significativas.