Django - 检查由视图函数修改的基本模板的变量

时间:2012-07-05 06:26:47

标签: python django

我想做的事: 有一个布尔变量:has_sidebar来检查我是否应该包含侧边栏部分

在base.html,我的基本模板

中调用partial

视图函数应该能够更改has_sidebar以声明是否将使用侧边栏呈现响应。

#views.py
def my_func1(request):
   has_sidebar = True
   return render_to_response('template1.html', {}, context_instance=RequestContext(request))

def my_func2(request):
   has_sidebar = False
   return render_to_response('template2.html', {}, context_instance=RequestContext(request))

#base.html
{% if has_sidebar %}{%include 'sidebar.html'%}{%endif%}

#template1.html
{% extends 'base.html' %}

#template2.html
{% extends 'base.html' %}

我该怎么做?提前谢谢!

注意:HTML布局只允许我在基本模板中渲染侧边栏。

1 个答案:

答案 0 :(得分:1)

当您返回要渲染的base.html时,请将from django.shortcuts import render_to_response添加到views.py的顶部,并将以下内容放在my_funcs中:

return render_to_response('base.html', {'has_sidebar': has_sidebar})