A little more¶
Using class CacheViews with extras¶
Example:
from django.shortcuts import render
# Django pages cache
from pages_cache.pages_decorators import CacheViews
# Create your views here.
register = CacheViews( )
# function fictitious of test mobile
def similation( fake ):
if fake == 'mobile':
return 'mobile'
return 'desktop'
@register.cache_view(
key_prefix='home-index',
extras=similation( )
)
def home( request ):
return render( request, 'index.html' )
Clear all cache with class CacheViews¶
Clear a view using clear_all( )
Example:
from django.shortcuts import render
# Django pages cache
from pages_cache.pages_decorators import CacheViews
# Create your views here.
cached = CacheViews( )
def clear( request ):
cached.clear_all( )
return render( request, 'clear.html' )
Clear cache with class CacheViews using never for exception¶
Clear a view using clear_cache( )
Example:
from django.shortcuts import render
# Django pages cache
from pages_cache.pages_decorators import CacheViews
# Create your views here.
cached = CacheViews( )
def clear( request ):
# clear all cache except url www.test.com:8000/detalhes
cached.clear_cache( key_prefix='home-detalhes', never='www.test.com:8000/detalhes' )
return render( request, 'clear.html' )
Using list:
from django.shortcuts import render
# Django pages cache
from pages_cache.pages_decorators import CacheViews
# Create your views here.
cached = CacheViews( )
def clear( request ):
url = [
'pt.test.com:8000/detalhes',
'www.test.com:8000/detalhes',
'en.test.com:8000/detalhes'
]
# clear all cache except url
cached.clear_cache( key_prefix='home-detalhes', never=url )
return render( request, 'clear.html' )
Get all key prefix of views¶
Clear a view using get_key_prefix( )
Example:
from django.shortcuts import render
# Django pages cache
from pages_cache.pages_decorators import CacheViews
# Create your views here.
cached = CacheViews( )
def get_keys( request ):
caches = cached.get_key_prefix( key_prefix='home-index' )
print( caches ) # display key prefix in terminal
return render(
request,
'clear.html',
{'caches': caches}
)