Django context cache library.
Project description
Prolog
Django-context-cache
extends the Django framework with a context cache that caches data per request or per decorated block.
Installation
- Install
django-context-cache
with thepip
command:
pip install django-context-cache
- Add
'context_cache.middleware.ContextCacheMiddleware'
to yourMIDDLEWARE
:
MIDDLEWARE = [
'context_cache.middleware.ContextCacheMiddleware',
...
]
Usage
Imagine having an function or method which result you want to cache per request:
import random
import string
from context_cache.decorators import cache_for_context
@cache_for_context
def get_random_string():
letters = string.ascii_lowercase
return ''.join(random.choice(letters) for i in range(10))
If you call function get_random_string more times the value will be get from cache:
def view(request):
get_random_string() == get_random_string() # should return True
If you want to cache an function out of requests, for example in the django command you can use the decorator init_context_cache
. The decorator can be used as a context processor too:
from django.core.management.base import BaseCommand, CommandError
from context_cache.decorators import init_context_cache
class Command(BaseCommand):
@init_context_cache
def handle(self, *args, **options):
get_random_string() == get_random_string() # should return True
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
Close
Hashes for django-context-cache-0.0.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55db3d85698a5ef053b6e4aaf01cd1e2d84958411c684b41041f0b97c03637da |
|
MD5 | 969450fad4ed421ace6d8ef8191f3d01 |
|
BLAKE2b-256 | 7eef2cf5a09a965df797969cfd7d4a50937ee47ea68bee8d4d225688104ca28c |