Desarrollo de aplicaciones web con Django y FastAPI en Python

Desarrollo de aplicaciones web con Django y FastAPI en Python

En este tutorial, aprenderemos a desarrollar aplicaciones web con Django y FastAPI en Python. Django es un framework web completo que proporciona una gran cantidad de funcionalidades, mientras que FastAPI es un framework web moderno que se centra en la velocidad y la eficiencia.

Requisitos previos

Para seguir este tutorial, necesitarás tener los siguientes requisitos previos:

  • Conocimientos básicos de Python
  • Un editor de texto o IDE
  • Una instalación de Python 3.7 o superior

Instalación de Django y FastAPI

Para instalar Django, ejecuta el siguiente comando en tu terminal:

pip install django

Para instalar FastAPI, ejecuta el siguiente comando en tu terminal:

pip install fastapi

Creando un proyecto Django

Para crear un nuevo proyecto Django, ejecuta el siguiente comando en tu terminal:

django-admin startproject mi_proyecto

Este comando creará una nueva carpeta llamada mi_proyecto con los siguientes archivos:

  • mi_proyecto/__init__.py: El archivo principal del proyecto
  • mi_proyecto/settings.py: Las configuraciones del proyecto
  • mi_proyecto/urls.py: Las URL del proyecto
  • mi_proyecto/wsgi.py: El archivo WSGI del proyecto

Creando un proyecto FastAPI

Para crear un nuevo proyecto FastAPI, ejecuta el siguiente comando en tu terminal:

uvicorn main:app --reload

Este comando creará un nuevo archivo llamado main.py con el siguiente contenido:

Python
from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def index():
    return {"Hello": "World!"}

if __name__ == "__main__":
    uvicorn.run(app, host="0.0.0.0", port=8000, reload=True)

Este código creará una API simple que devuelve el mensaje «Hello, World!» cuando se accede a la URL /.

Creando una vista Django

Para crear una vista Django, crea un archivo llamado views.py en la carpeta mi_proyecto. El siguiente código crea una vista que devuelve el mensaje «Hello, World!» cuando se accede a la URL /:

Python
from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello, World!")

Creando una ruta Django

Para asociar una vista a una ruta, actualiza el archivo urls.py. El siguiente código asocia la vista index() a la ruta /:

Python
from django.contrib import admin
from django.urls import path

from mi_proyecto import views

urlpatterns = [
    path("", views.index, name="index"),
    path("admin/", admin.site.urls),
]

Ejecutando un proyecto Django

Para ejecutar un proyecto Django, ejecuta el siguiente comando en tu terminal:

python manage.py runserver

Esto abrirá un servidor web en tu máquina local en el puerto 8000. Puedes acceder a la aplicación en la URL http://localhost:8000/.

Creando una ruta FastAPI

Para crear una ruta FastAPI, crea una función que devuelva el resultado que deseas que se devuelva cuando se acceda a la ruta. El siguiente código crea una ruta que devuelve el mensaje «Hello, World!» cuando se accede a la URL /:

Python
from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def index():
    return {"Hello": "World!"}

Ejecutando un proyecto FastAPI

Para ejecutar un proyecto FastAPI, ejecuta el siguiente comando en tu terminal:

uvicorn main:app --reload

Esto abrirá un servidor web en tu máquina local en el puerto 8000. Puedes acceder a la aplicación en la URL http://localhost:8000/.

Comparación de Django y FastAPI

Django y FastAPI son dos frameworks web populares para Python. Ambos tienen sus propias ventajas y desventajas.

Django

  • Ventajas:
    • Es un framework completo que proporciona una gran cantidad de funcionalidades
    • Es fácil de aprender y usar
    • Tiene una gran comunidad de