Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

624
Views
Django rest framework, configure la respuesta de API Content-Encoding en gzip

Estoy trabajando en el proyecto django, que actúa como un servidor de distribución para otro servidor cuando solicitan ciertos datos a través de una llamada API, estos datos están en forma de JSON y son muy grandes. Así que estaba pensando si hay alguna manera de configurar mi respuesta DRF APIView para que sirva la respuesta JSON generada con gzip configurado para la codificación de contenido para reducir el tamaño del contenido, cuando lo consumen los otros servidores.

Actualmente, mi aplicación se ejecuta en gunicorn con nginx en el frente como proxy.

about 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Django tiene un middleware gzip incorporado.

Si está utilizando la versión django <= 1.10, en su settings.py :

 MIDDLEWARE_CLASSES = [ 'django.middleware.gzip.GZipMiddleware', ... ]

Si está utilizando la versión django> 1.10:

 MIDDLEWARE = [ 'django.middleware.gzip.GZipMiddleware', ... ]

Este middleware debe colocarse antes que cualquier otro middleware que necesite leer o escribir el cuerpo de la respuesta para que la compresión ocurra después.

¿Por qué? Porque para una solicitud entrante, Django procesa la solicitud utilizando middlewares de arriba a abajo como se define en su configuración. Para los middlewares de respuesta salientes, se denominan bottom to top.

Por lo tanto, declarar el middleware gzip como el primer middleware permitirá que la solicitud entrante se descomprima para que la lean otros middlewares; y la respuesta saliente se comprimirá justo antes de salir, para que no interfiera con las operaciones de otros middlewares.

about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!