Login

cache_page that does nothing

Author:
peterbe
Posted:
August 20, 2009
Language:
Python
Version:
1.1
Score:
0 (after 2 ratings)

When debugging/developing you want to be able to refresh your views every time you make a little change. But when in production mode you might want to cache these views because they contain long and resource hungry calculations or something.

By putting this above "hack" in after importing cache_page you only cache the views in production mode.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
from django.conf import settings
from django.views.decorators.cache import cache_page

if settings.DEBUG:
    def cache_page(delay):
        def rendered(view):
            def inner(request, *args, **kwargs):
                return view(request, *args, **kwargs)
            return inner
        return rendered

@cache_page(60 * 60) # 1 hour
def my_view(request):
    ...expensive calculation...

More like this

  1. Browser-native date input field by kytta 1 month, 1 week ago
  2. Generate and render HTML Table by LLyaudet 1 month, 2 weeks ago
  3. My firs Snippets by GutemaG 1 month, 2 weeks ago
  4. FileField having auto upload_to path by junaidmgithub 2 months, 4 weeks ago
  5. LazyPrimaryKeyRelatedField by LLyaudet 3 months ago

Comments

larin (on August 21, 2009):

@gregb

+100 =)))

#

Please login first before commenting.