【发布时间】:2016-08-26 02:49:58
【问题描述】:
我想为我的布局模板增加一些灵活性,但我找不到任何方法来做到这一点。
我正在寻找一种方法来extend 带有变量的布局模板,即在模板树中向上传递变量,而不是向下传递。
# views.py
def my_view_func(request):
return render(request, "child.html")
# child.html
{% extends 'layout.html' with show_sidebar=True sidebar_width_class="width_4" %}
<div>Templates stuff here</div>
# layout.html
{% if show_sidebar %}
<div class="{{ sidebar_width_class }}">
{% block sidebar %}{% endblock %}
</div>
{% endif %}
我必须维护四个模板,只需要几行代码。例如,我有两个模板,它们的侧边栏宽度类不同。我做错了吗?
【问题讨论】:
-
@xpy,不。在我的问题中,我正在寻找一种使用变量扩展布局模板的方法,即在模板树中向上传递变量而不是向下传递。
-
抱歉,误会了。
-
为什么不通过上下文
render(request, "child.html", {'sidebar_width': "width_4"})传递变量?