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
==================
(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
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)
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e8a66cc0151f9b4c15160c119ec2c34e3db7b704962a466fa19576314f39819 |
|
MD5 | ac21c95d9f649e88ce54b0fde6a69702 |
|
BLAKE2b-256 | 1f13bd996acc8c6b034f15f0affbfb47c638083111b244ff9fefa730c097ca24 |