0
Whaat我想做的事: 有一個布爾變量:has_sidebar檢查我是否應該包括側邊欄部分或不Django的 - 在基本模板檢查變量被修改通過查看功能
的部分被稱爲在base.html中,我的基本模板
視圖函數應該能夠更改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佈局只允許我在基礎模板中渲染邊欄。
這是在Django一個非常基本的功能 - 使用的RequestContext將變量傳遞給模板。你試過了嗎? – Tisho
好的。我可能說錯了。我所有的視圖操作都會擴展base.html。除了base.html,我的每個視圖操作都有不同的模板。 base.html是一個「基本模板」,沒有任何視圖動作顯式呈現。編輯 – yretuta
那麼這裏有什麼問題?只需在render_to_response中傳遞has_sidebar即可。 – Tisho