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

597
Views
Django rest framework, set the api response Content-Encoding to gzip

Am working on django project, that act as a distribution server to other server when they request for some certain data through and api call, this data is in form of JSON and is very large. So i was thinking is there any way i can set my DRF APIView response to serves the outputted JSON response with gzip set for the Content-Encoding so as to reduce the size of the content, when consuming by the other servers.

Currently my application is running on gunicorn with nginx on the front as a proxy.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Django has a built-in gzip middleware.

If you're using django version <= 1.10 , in your settings.py:

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

If you're using django version > 1.10:

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

This middleware should be placed before any other middleware that need to read or write the response body so that compression happens afterward.

Why? Because for an incoming request django processes the request using middlewares from top to bottom as defined in your settings. For out going response middlewares are called bottom to top.

So declaring gzip middleware as the first middleware will enable the incoming request to be decompressed to be read by other middlewares ; and the outgoing response will be compressed just before leaving, so that it does not interfere with the operations of other middlewares.

over 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!