コード例 #1
0
ファイル: views.py プロジェクト: tclancy/bluetrain
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