Skip to main content

clears the junk out of your CSS

Project description

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

Project details


Release history Release notifications | RSS feed

This version

0.1

Download files

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

Source Distribution

fancy_cache-0.1.tar.gz (6.8 kB view details)

Uploaded Source

File details

Details for the file fancy_cache-0.1.tar.gz.

File metadata

  • Download URL: fancy_cache-0.1.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for fancy_cache-0.1.tar.gz
Algorithm Hash digest
SHA256 2e8a66cc0151f9b4c15160c119ec2c34e3db7b704962a466fa19576314f39819
MD5 ac21c95d9f649e88ce54b0fde6a69702
BLAKE2b-256 1f13bd996acc8c6b034f15f0affbfb47c638083111b244ff9fefa730c097ca24

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page