Getting Started

Using class CacheViews

Example:

from django.shortcuts import render

# Django pages cache
from pages_cache.pages_decorators import CacheViews

# Create your views here.

register = CacheViews( )

@register.cache_view( key_prefix='home-index' )
def home( request ):

    return render( request, 'index.html' )

Using class CacheViews with expire

Example:

from django.shortcuts import render

# Django pages cache
from pages_cache.pages_decorators import CacheViews

# Create your views here.

register = CacheViews( )

@register.cache_view(
        key_prefix='home-index',
        expire=60 * 15
    )
def home( request ):

    return render( request, 'index.html' )

Using class CacheViews with specific url

Example:

from django.shortcuts import render

# Django pages cache
from pages_cache.pages_decorators import CacheViews

# Create your views here.

register = CacheViews( )

@register.cache_view(
        only='www.test.com:8000/detalhes'
    )
def home( request ):

    return render( request, 'index.html' )

Using class CacheViews with specific url and list

Example:

from django.shortcuts import render

# Django pages cache
from pages_cache.pages_decorators import CacheViews

# Create your views here.

register = CacheViews( )

url_prefix = url = [
    'pt.test.com:8000/detalhes',
    'www.test.com:8000/detalhes',
    'en.test.com:8000/detalhes'
]

@register.cache_view( only=url_prefix )
def home( request ):

    return render( request, 'index.html' )

Using expire:

from django.shortcuts import render

# Django pages cache
from pages_cache.pages_decorators import CacheViews

# Create your views here.

register = CacheViews( )

url_prefix = url = [
    'pt.test.com:8000/detalhes',
    'www.test.com:8000/detalhes',
    'en.test.com:8000/detalhes'
]

@register.cache_view(
        only=url_prefix,
        expire=60 * 15
    )
def home( request ):

    return render( request, 'index.html' )

Using class CacheViews with class-based views

Example:

from django.shortcuts import render

# Django pages cache
from pages_cache.pages_decorators import CacheViews

# Create your views here.

register = CacheViews( )

class Home( View ):

    @register.cache_view(
        key_prefix='home-index'
    )
    def get ( self, request, *args, **kwargs ):

        return render( request, 'index.html')

Using expire:

from django.shortcuts import render

# Django pages cache
from pages_cache.pages_decorators import CacheViews

# Create your views here.

register = CacheViews( )

class Home( View ):

    @register.cache_view(
        key_prefix='home-index',
        expire=60 * 15
    )
    def get ( self, request, *args, **kwargs ):

        return render( request, 'index.html')

Using class CacheViews with unique key prefix for all requests

Example:

from django.shortcuts import render

# Django pages cache
from pages_cache.pages_decorators import CacheViews

# Create your views here.

register = CacheViews( )

@register.cache_view(
        key_prefix='home-index',
        key_url=False
    )
def home( request ):

    return render( request, 'index.html' )

Clear cache with class CacheViews

Clear a view using clear_cache( key_prefix='home-index' )

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_cache( key_prefix='home-index' )

    return render( request, 'clear.html' )

Clear cache with class CacheViews by url

Clear a view using clear_cache_url( key_prefix='your-views' )

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_cache_url( url='www.test.com:8000/detalhes' )

    return render( request, 'clear.html' )

Clear cache with class CacheViews by url list

Clear a view using clear_cache_url( key_prefix='yours-views' )

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 ):

    url = [
        'pt.test.com:8000/detalhes',
        'www.test.com:8000/detalhes',
        'es.test.com:8000/detalhes',
        'en.test.com:8000/detalhes'
    ]

    cached.clear_cache_url( url=url )

    return render( request, 'clear.html' )