Skip to main content

Extended HTTP-caching for Django

Project description

Enhanced cache_page decorator for Django views.

https://travis-ci.org/renskiy/django-cache.svg?branch=master https://coveralls.io/repos/github/renskiy/django-cache/badge.svg?branch=master

Compatibility

Django-cache properly works with Django 1.8, 1.9, 1.10 and 1.11 on Python 2.7, 3.4, 3.5 and 3.6.

Advantages

  • fixed certain amount of bugs (including #15855)
  • support of callable cache_timeout and key_prefix parameters
  • cache age can be limited by client (min cache age is manageable, default is 0)

Usage

from djangocache import cache_page

@cache_page(cache_timeout=600)
def view(request):
    pass

Combination with last_modified and/or etag view decorators

If you planning to use cache_page among with last_modified and/or etag the latter must be placed after cache_page:

from djangocache import cache_page
from django.views.decorators.http import last_modified, etag

def etag_generator(request, *args, **kwargs):
    return 'ETag!!'

@cache_page(cache_timeout=600)
@etag(etag_generator)
def view(request, *args, **kwargs):
    pass

Django Settings

DJANGOCACHE_MIN_AGE - used to set minimal age of cache. Default is 0, meaning that client can ask server to skip cache by providing header Cache-Control: max-age=0.

@cache_page params

  • cache_timeout. Default is settings.CACHE_MIDDLEWARE_SECONDS.
  • key_prefix. Default is settings.CACHE_MIDDLEWARE_KEY_PREFIX.
  • cache_alias. Default is settings.CACHE_MIDDLEWARE_ALIAS, or settings.DEFAULT_CACHE_ALIAS if set to None.
  • cache_min_age. Default is settings.DJANGOCACHE_MIN_AGE.

Installation

pip install --upgrade django-cache

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
django-cache-0.3.tar.gz (4.7 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page