Desarrollo de APIs Restful con Django Rest Framework en Python

Desarrollo de APIs Restful con Django Rest Framework en Python

Django Rest Framework (DRF) es una poderosa y flexible herramienta para crear APIs Web RESTful en Python. DRF proporciona una serie de características que facilitan el desarrollo de APIs, como la serialización de datos, la autenticación y la autorización.

En este tutorial, aprenderemos a desarrollar una API Restful con Django Rest Framework. Empezaremos creando un proyecto Django básico y luego añadiremos DRF. Una vez que DRF esté instalado, crearemos una serie de vistas para exponer nuestros datos a través de la API.

Prerrequisitos

Para seguir este tutorial, necesitarás tener instalado Python 3 y Django. También necesitarás tener un editor de código o IDE.

Creando un proyecto Django

Para empezar, crearemos un proyecto Django básico.

python -m django startproject my_api

Esto creará un directorio llamado my_api con los siguientes archivos:

  • my_api/settings.py: Configuración del proyecto Django.
  • my_api/urls.py: URLs del proyecto Django.
  • my_api/wsgi.py: WSGI del proyecto Django.
  • my_api/app.py: Aplicación Django.

Instalando Django Rest Framework

Para instalar DRF, ejecutaremos el siguiente comando:

pip install djangorestframework

Una vez que DRF esté instalado, añadiremos la siguiente línea a my_api/settings.py:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'rest_framework',
]

Creando una vista

Una vista es una función que se encarga de procesar las solicitudes HTTP. En DRF, las vistas se definen como clases que heredan de APIView.

Para crear una vista, crearemos un archivo llamado my_api/views.py y añadiremos el siguiente código:

Python
from rest_framework.views import APIView

class HelloView(APIView):
    def get(self, request):
        return Response({'message': 'Hello, world!'})

Esta vista devolverá una respuesta JSON con el mensaje «Hello, world!».

Añadiendo una URL

Para exponer nuestra vista a través de la API, añadiremos una URL a my_api/urls.py:

Python
from django.contrib import admin
from django.urls import path
from rest_framework.routers import DefaultRouter

from my_api.views import HelloView

router = DefaultRouter()
router.register(r'', HelloView)

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include(router.urls)),
]

Esta URL mapeará todas las solicitudes HTTP a la vista HelloView.

Probando la API

Para probar la API, podemos usar un cliente REST como Postman o Insomnia.

Si hacemos una solicitud GET a la URL /, recibiremos la siguiente respuesta JSON:

JSON
{
    "message": "Hello, world!"
}

Conclusión

En este tutorial, hemos aprendido a crear una API Restful con Django Rest Framework en Python. Empezamos creando un proyecto Django básico y luego añadimos DRF. Una vez que DRF estuvo instalado, creamos una serie de vistas para exponer nuestros datos a través de la API.

Para obtener más información sobre Django Rest Framework, consulta la documentación oficial: https://www.django-rest-framework.org/.