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
File details
Details for the file django-context-cache-0.0.2.tar.gz
.
File metadata
- Download URL: django-context-cache-0.0.2.tar.gz
- Upload date:
- Size: 7.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55db3d85698a5ef053b6e4aaf01cd1e2d84958411c684b41041f0b97c03637da |
|
MD5 | 969450fad4ed421ace6d8ef8191f3d01 |
|
BLAKE2b-256 | 7eef2cf5a09a965df797969cfd7d4a50937ee47ea68bee8d4d225688104ca28c |