Skip to main content
Help us improve PyPI by participating in user testing. All experience levels needed!

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


Release history Release notifications

This version
History Node

0.3

History Node

0.2.5

History Node

0.2.4

History Node

0.2.3

History Node

0.2.2

History Node

0.2.1

History Node

0.2

History Node

0.1.3

History Node

0.1.2

History Node

0.1.1

History Node

0.1

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 Oct 19, 2017

Supported by

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