django-response-timeout
allows you to set the cache time globally for
all responses. It provides a way to override the client side cache time for
the Django per site caching middleware.
Installation is as easy as:
pip install django-response-timeout
Add response_timeout.middleware.SetCacheTimeoutMiddleware
and place it
after django.middleware.cache.UpdateCacheMiddleware
so that it will set the
header time first on cached responses.
MIDDLEWARE_CLASSES = (
'django.middleware.cache.UpdateCacheMiddleware',
'response_timeout.middleware.SetCacheTimeoutMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.cache.FetchFromCacheMiddleware',
)
Then set RESPONSE_CACHE_SECONDS
to the number of seconds each page should
be cached on the front end.
The Django documention does not cohesively describe how your middleware should be ordered, however this stackoverflow discussion does a fine job.
If you find issues or would like to see a feature suppored, head over to the issues section and report it. Don't be agraid, go ahead, do it!
To contribute code in any form, fork the repository and clone it locally. Create a new branch for your feature:
git commit -b feature/whatever-you-like
Then make sure all the tests past (and write new ones for any new features):
pip install -e . pip install -r requirements-dev.txt django-admin.py test --settings=test.settings
Check if the README.rst looks right:
restview --long-description
Then push the finished feature to github and open a pull request form the branch.
To create a new release:
- Add changes to
CHANGES.txt
- Change version in
setup.py
python setup.py register
python setup.py sdist upload