我刚刚熟悉Django模板继承,但在这种情况下,这对我没有帮助。 我有以下模板结构:
-templates
-home
-base.html
-right_menu.html
-top_menu.html
-left_bottom_menu.html
base.html文件:
<!DOCTYPE html>
{% load static %}
<html>
<head>
<title>Hot or Not</title>
</head>
<body>
<div id="mainMenuPanel" class="topMenu">
{% block top_menu %}{% endblock %}
</div>
<div class="leftPanel">
<div class="leftBottomMenu">
{% block left_bottom_menu %}{% endblock %}
</div>
</div>
<div id="divMenu" class="rightPanel">
{% block right_menu %}{% endblock %}
</div>
</body>
</html>
我有3个菜单 - 顶级菜单,左下方菜单,右侧菜单。但是加载base.html我也想加载这些菜单。与模板继承类似,我想将这些菜单保存在其他文件中。但是,模板继承需要重定向到这些html文件(例如重定向到right_menu.html
)并且只加载它们的块(它就像其他html文件的母版页一样)。如何在Django中进行这种分离?
答案 0 :(得分:4)
如果你把东西放在
中 {% block right_menu %}{% end block %}
喜欢说
{% block right_menu %}{% include 'right_menu.html' %}{% endblock %}
默认情况下会加载它,除非你在子模板中覆盖它。