def show_page(request, slug="home", template='bluetrain/page.html', extra_context={}): # look for cached copy of page if settings.USE_CACHE: cache_key = HtmlPage.get_cache_key_for_page(slug) page_view = cache.get(cache_key, None) if page_view: return page_view page = get_object_or_404(HtmlPage, slug=slug, active=True) home = False show_login_focus = False level_one = page.level_one is_level_one = (page == page.level_one) if slug == 'home': home = True template = 'bluetrain/home.html' level_one_class = 'Home' else: level_one_class = level_one.css_class() context = locals() context.update(extra_context) page_view = render_to_response(template, context, context_instance=RequestContext(request)) if settings.USE_CACHE: cache.set(cache_key, page_view, settings.DEFAULT_CACHE_TIMEOUT) return page_view