Django - 将 html 文件划分为组件

Ant*_*lev 0 html django separation-of-concerns

我刚刚熟悉 Django 模板继承,但这在这种情况下对我没有帮助。我有以下模板结构:

-templates
   -home
      -base.html
      -right_menu.html
      -top_menu.html
      -left_bottom_menu.html
Run Code Online (Sandbox Code Playgroud)

基本.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>
Run Code Online (Sandbox Code Playgroud)

我有 3 个菜单 - 顶部菜单、左下菜单、右侧菜单。但是随着 base.html 的加载,我也想加载这些菜单。与模板继承类似,我想将这些菜单保留在其他文件中。然而,模板继承需要重定向到这些 html 文件(例如重定向到right_menu.html),并且只会加载它们的块(它就像其他 html 文件的母版页)。我怎样才能在 Django 中实现这种分离?

Tho*_*rzl 6

如果你把东西放进去

{% block right_menu %}{% end block %}

就像说

{% block right_menu %}{% include 'right_menu.html' %}{% endblock %}

它将默认加载,除非您在子模板中覆盖它。