Skip to main content
django-fancy-cache
==================

(c) Peter Bengtsson, mail@peterbe.com, 2013

About django-fancy-cache
------------------------

A Django `cache_page` decorator on steroids.

Unlike the stock `django.views.decorators.cache.change_page` this
decorator makes it possible to set a `key_prefixer` that is a
callable. This callable is passed the request and if it returns `None`
the page is not cached.

Also, you can set another callable called `post_process_response`
(which is passed the response and the request) which can do some
additional changes to the response before it's set in cache.

Lastly, you can set `post_process_response_always=True` so that the
`post_process_response` callable is always called, even when the
response is coming from the cache.


How to use it
-------------

In your Django views:

from fancy_cache import cache_page

@cache_page(60 * 60)
def myview(request):
return render(request, 'page1.html')

def prefixer(request):
if request.method != 'GET':
return None
if request.GET.get('no-cache'):
return None
return 'myprefix'

@cache_page(60 * 60, key_prefixer=prefixer)
def myotherview(request):
return render(request, 'page2.html')

def post_processor(response, request):
response.content += '<!-- this was post processed -->'
return response

@cache_page(60 * 60,
key_prefixer=prefixer,
post_process_response=post_processor)
def yetanotherotherview(request):
return render(request, 'page3.html')


Running the test suite
----------------------

The simplest way is to simply run:

$ pip install -r requirements.txt
$ fab test

Or to run it without `fab` you can simply run:

$ export PYTHONPATH=`pwd`
$ export DJANGO_SETTINGS_MODULE=fancy_cache.tests.settings
$ django-admin.py test

Release files for fancy_cache 0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fancy_cache 0.1
File Size Uploaded
fancy_cache-0.1.tar.gz 6.8 kB Details

Release files / fancy_cache-0.1.tar.gz

Download URL fancy_cache-0.1.tar.gz
Size 6.8 kB
Tags Source
SHA-256 checksum
How to use checksums
2e8a66cc0151f9b4c15160c119ec2c34e3db7b704962a466fa19576314f39819
BLAKE2b-256 checksum
How to use checksums
1f13bd996acc8c6b034f15f0affbfb47c638083111b244ff9fefa730c097ca24
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.1 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page