两个背景经理页面使用一个小的不同的基本模板

时间:2017-05-18 05:14:34

标签: django django-templates

有两个用户后台管理页面,一个用于员工管理订单,企业。一个用于管理自己的订单或用户中心的normaluser。所以有两个url路径:/ staff_bg / / user_bg / 但它们使用相同的基本模板,唯一不同的是标题选项卡不相同。例如:

user_header.html

{% extends "core/base.html" %}
<header>
    <ul>
        <li>your orders</li>
    </ul>
</header>

staff_header.html

{% extends "core/base.html" %}
<header>
    <ul>
        <li>enterprise</li>
    </ul>
</header>

然后: user_realted.html:

{% extends "core/user_header.html" %}  # focus here
{% block body %} 
# something
{% endblock %}

然后: staff_related.html

{% extends "core/staff_header.html" %} # focus here
{% block body %} 
# something
{% endblock %}

我的解决方案: 创建core / middle.html:

{% extends the_template_name %}

然后 user_realted.html:

{% extends "core/middle.html" %}  # focus here
{% block body %} 
# something
{% endblock %}

编写自定义模板处理器的一种方法,基于一个request.path将不同的the_template_name(“cms / user_header.html”或“c​​ore / staff_header.html”)传递给middle.html,但我认为它很脏, 如果代码错误,也许普通用户可以看到员工标签。

另一种方式: 在每个视图中将不同的the_template_name传递给middle.html。当然,它会改变已经写过的每一个观点。

0 个答案:

没有答案