Cómo obtener datos JSON POST en Django

Aprende a crear y probar una API Django que envía y recibe JSON con Django REST framework y Apidog, herramienta web para testear y depurar APIs fácilmente.

Daniel Costa

Daniel Costa

15 April 2025

Cómo obtener datos JSON POST en Django

Django es un framework web de Python diseñado para ayudar a los desarrolladores a crear aplicaciones web de forma rápida y sencilla. Es gratuito, de código abierto y cuenta con una comunidad de desarrolladores grande y activa.

¿Quieres aprender a crear y probar una API de Django que pueda enviar y recibir datos JSON? Si es así, estás en el lugar correcto. Al final de esta publicación, podrás crear y probar una API de Django que pueda enviar y recibir datos JSON como un profesional. ¡Empecemos!

💡
Apidog es una herramienta basada en la web que te ayuda a probar y depurar APIs. Te permite enviar solicitudes HTTP a cualquier punto final de la API y obtener la respuesta en varios formatos, como JSON, XML, HTML, etc.

También puedes inspeccionar los encabezados, las cookies, los códigos de estado y otros detalles de la respuesta. Apidog también te permite manipular los datos de la respuesta utilizando JavaScript, filtrar los datos utilizando JSONPath y validar los datos utilizando JSON Schema.
button

¿Qué es JSON?

JSON significa JavaScript Object Notation (Notación de Objetos de JavaScript). Es un formato estandarizado para representar datos estructurados. Es un formato basado en texto que utiliza texto legible por humanos para almacenar y transmitir objetos de datos que constan de pares atributo-valor y matrices (u otros valores serializables). JSON se utiliza comúnmente para transmitir datos en aplicaciones web, como el envío de datos del servidor al cliente, o viceversa.

JSON puede representar seis tipos de datos de forma nativa: cadenas, números, booleanos, nulos, matrices y objetos. Por ejemplo, aquí hay una representación JSON de una publicación:

{
  "id": 1001,
  "title": "What is JSON?",
  "author": {
    "id": 1,
    "name": "James Walker"
  },
  "tags": [
    "api",
    "json",
    "programming"
  ],
  "published": false,
  "publishedTimestamp": null
}

Este ejemplo demuestra todos los tipos de datos JSON. También ilustra la concisión de los datos con formato JSON, una de las características que lo ha hecho tan atractivo para su uso en APIs.

Conceptos básicos del método de solicitud POST

El método de solicitud POST es un tipo de solicitud HTTP que se utiliza para enviar datos a un servidor para crear o actualizar un recurso. Se utiliza comúnmente para cargar archivos o enviar formularios web completos. El método solicita al servidor web que acepte los datos incluidos en el cuerpo del mensaje de solicitud, normalmente con fines de almacenamiento.

JSON, abreviatura de JavaScript Object Notation, se emplea con frecuencia en las solicitudes POST debido a su capacidad para transmitir datos estructurados a un servidor. Este formato estructurado permite una fácil interpretación y procesamiento por parte del servidor, especialmente al crear o actualizar recursos.

El formato estandarizado de JSON para representar objetos y datos lo convierte en una opción popular para enviar datos en solicitudes POST. Al utilizar JSON, los desarrolladores pueden asegurarse de que los datos enviados al servidor estén bien organizados y sean fácilmente comprensibles, lo que mejora la eficiencia de la creación y las actualizaciones de recursos.

¿Qué es Django y por qué deberías usarlo?

Django es un framework web que te ayuda a crear aplicaciones web de forma rápida y sencilla. Está escrito en Python y sigue el patrón Modelo-Vista-Plantilla (MVT). Te proporciona varias características y herramientas, tales como:

Django Apidog

Django es un gran framework para cualquiera que quiera crear aplicaciones web, ya seas un principiante o un experto. Te ayuda a:

Cómo configurar un proyecto de Django para obtener datos JSON POST

Para crear y probar una API de Django que pueda enviar y recibir datos JSON, debes configurar un proyecto de Django y crear una aplicación API simple.

Instalación de Django

También debes instalar algunas dependencias y herramientas, tales como:

pip install virtualenv

pip install django

pip install djangorestframework

Después de instalar estas dependencias y herramientas, puedes crear un proyecto de Django ejecutando el siguiente comando en tu terminal:

django-admin startproject django_post_json

Este comando creará una carpeta llamada django_post_json que contiene los siguientes archivos y carpetas:

Django official website

Creación de la API de Django

También puedes crear una aplicación API simple ejecutando el siguiente comando en tu terminal:

python manage.py startapp api

Este comando creará una carpeta llamada api que contiene los siguientes archivos y carpetas:

También debes agregar tu aplicación a la lista INSTALLED_APPS en el archivo settings.py de tu proyecto. Puedes hacer esto agregando la siguiente línea al final de la lista:

'api.apps.ApiConfig',

También debes agregar Django REST framework a la lista INSTALLED_APPS. Puedes hacer esto agregando la siguiente línea al final de la lista:

'rest_framework',

Ahora has configurado un proyecto de Django y has creado una aplicación API simple. Puedes ejecutar tu proyecto ejecutando el siguiente comando en tu terminal:

python manage.py runserver

Este comando iniciará un servidor de desarrollo al que puedes acceder desde tu navegador en http://127.0.0.1:8000/. Deberías ver una página que dice "¡La instalación funcionó correctamente! ¡Felicitaciones!"

Cómo crear una vista para obtener datos JSON POST en Django

Para crear y probar una API de Django que pueda enviar y recibir datos JSON, debes crear una vista y una URL para el punto final de la API. Una vista es una función o clase de Python que maneja la solicitud y la respuesta para una URL específica. Define la lógica y el comportamiento de tu aplicación. Una URL es una cadena que se asigna a una vista. Define la dirección y el patrón de tu aplicación.

Cómo crear una vista para tu Django

Puedes crear una vista para este punto final de la API en el archivo views.py de tu aplicación. Puedes hacer esto agregando el siguiente código al archivo:

from rest_framework import generics
from .models import Message
from .serializers import MessageSerializer

class MessageListCreateView(generics.ListCreateAPIView):
  queryset = Message.objects.all()
  serializer_class = MessageSerializer

class MessageRetrieveUpdateDestroyView(generics.RetrieveUpdateDestroyAPIView):
  queryset = Message.objects.all()
  serializer_class = MessageSerializer

Este código creará dos vistas que heredan de las vistas genéricas de Django REST framework. La vista MessageListCreateView manejará las solicitudes GET y POST para la lista de mensajes. La vista MessageRetrieveUpdateDestroyView manejará las solicitudes GET, PUT, PATCH y DELETE para un solo mensaje.

Ambas vistas utilizarán los atributos queryset y serializer_class para especificar la fuente de datos y el formato de datos. Puedes obtener más información sobre las vistas genéricas y sus métodos en la documentación de Django REST framework: https://www.django-rest-framework.org/api-guide/generic-views/

También puedes crear una URL para este punto final de la API en el archivo urls.py de tu aplicación. Puedes crear este archivo en la misma carpeta que tu archivo views.py. Puedes hacer esto agregando el siguiente código al archivo:

from django.urls import path
from .views import MessageListCreateView, MessageRetrieveUpdateDestroyView

urlpatterns = [
  path('messages/', MessageListCreateView.as_view(), name='message-list'),
  path('messages/<int:pk>/', MessageRetrieveUpdateDestroyView.as_view(), name='message-detail'),
]

Este código creará dos patrones de URL que se asignan a las vistas que creaste. El primer patrón coincidirá con la URL /messages/ y utilizará la vista MessageListCreateView. El segundo patrón coincidirá con la URL /messages/<int:pk>/ y utilizará la vista MessageRetrieveUpdateDestroyView. La parte <int:pk> es un convertidor de ruta que capturará un valor entero y lo pasará a la vista como el argumento pk. Este valor se utilizará para identificar el objeto de mensaje en el que operará la vista. También puedes agregar un argumento name a cada patrón para darle un identificador único que puedas usar para referirte a la URL en tu código.

Cómo crear la URL para tu Django

También debes incluir los patrones de URL de tu aplicación en el archivo urls.py de tu proyecto. Puedes hacer esto agregando el siguiente código al archivo:

from django.urls import path, include

urlpatterns = [
  path('api/', include('api.urls')),
]

Este código creará un patrón de URL que coincidirá con la URL /api/ e incluirá los patrones de URL de tu aplicación. De esta manera, puedes crear un espacio de nombres para tu aplicación y evitar cualquier conflicto con otras aplicaciones o URLs. También puedes agregar una barra diagonal final al final de la URL para que sea coherente y evitar cualquier problema de redirección.

Ahora has creado una vista y una URL para el punto final de la API. Puedes probar tu API ejecutando el siguiente comando en tu terminal:

python manage.py runserver

Este comando iniciará un servidor de desarrollo al que puedes acceder desde tu navegador en http://127.0.0.1:8000/. También puedes usar Apidog, una herramienta basada en la web que te permite probar y depurar APIs con facilidad, para probar tu API. Te mostraré cómo hacerlo en la siguiente sección.

Manejo de datos JSON POST en Django

Manejar datos JSON post en Django es una tarea común para los desarrolladores web que desean crear y probar APIs RESTful. Django proporciona varias características y herramientas para ayudarte con esta tarea, tales como:

import json
from django.http import JsonResponse

def my_view(request):
  if request.method == 'POST':
    data = json.loads(request.body) # parse the JSON data into a dictionary
    # do something with the data
    return JsonResponse(data) # return the data as a JSON response
from django.http import JsonResponse

def my_view(request):
  if request.method == 'GET':
    data = {'name': 'Alice', 'email': 'alice@example.com'} # create a dictionary
    return JsonResponse(data, status=200, safe=True) # return the dictionary as a JSON response
from rest_framework import serializers
from .models import Message

class MessageSerializer(serializers.ModelSerializer):
  class Meta:
    model = Message
    fields = ['name', 'email', 'message']

Este código creará un serializador que convierte tu modelo Message en formato JSON y viceversa. Puedes obtener más información sobre Django REST framework y sus características y herramientas en este artículo:

Estas son algunas de las técnicas avanzadas para manejar datos JSON post en Django. Puedes usarlas para crear y probar tus propias APIs de Django que puedan enviar y recibir datos JSON.

Obtener datos JSON POST de Django con Apidog

Apidog es una gran herramienta para cualquiera que trabaje con APIs, ya seas un desarrollador, un probador, un diseñador o un estudiante. Te ayuda a:

Para probar tu API de Django que puede enviar y recibir datos JSON utilizando Apidog, debes seguir estos pasos:

Create a New Request
POST Request
JSON Data
Send the Request

Ahora has probado tu API de Django que puede enviar y recibir datos JSON utilizando Apidog. También puedes probar otros puntos finales y métodos de la API siguiendo los mismos pasos. También puedes usar Apidog para probar otras APIs que encuentres en línea o que crees tú mismo. Apidog es una herramienta versátil y potente que puede ayudarte con cualquier tarea relacionada con la API. Puedes obtener más información sobre Apidog y sus características y herramientas en el sitio web oficial:

button

Conclusión

En esta publicación de blog, te he mostrado cómo crear y probar una API de Django que puede enviar y recibir datos JSON. Has aprendido cómo:

Espero que hayas encontrado esta publicación de blog inspiradora y útil. Puedes usar las habilidades y el conocimiento que has adquirido en esta publicación de blog para crear y probar tus propias APIs de Django que puedan enviar y recibir datos JSON.

También puedes usar Apidog para probar y depurar cualquier otra API que encuentres o crees. Apidog es una herramienta práctica y útil que puede hacer que el desarrollo y las pruebas de tu API sean más fáciles y rápidos.

Explore more

Cómo usar Lovable AI (Alternativa a Cursor para desarrolladores web)

Cómo usar Lovable AI (Alternativa a Cursor para desarrolladores web)

Aprende a crear cualquier web con Lovable en esta guía completa. Descubre procesos paso a paso, funciones innovadoras e integra herramientas gratuitas como Apidog para gestión API.

15 April 2025

Cómo usar n8n con servidores MCP

Cómo usar n8n con servidores MCP

Automatiza flujos con n8n y servidores MCP para IA. Guía técnica: configuración, APIs, nodo "MCP Server Trigger" y Apidog para pruebas.

14 April 2025

Cómo añadir claves API personalizadas a Cursor: Una guía completa

Cómo añadir claves API personalizadas a Cursor: Una guía completa

Este tutorial te guiará para configurar y gestionar claves API personalizadas en Cursor (OpenAI, Anthropic, Google y Azure).

11 April 2025

Practica el diseño de API en Apidog

Descubre una forma más fácil de construir y usar APIs