<i id='3h5ZY'><tr id='3h5ZY'><dt id='3h5ZY'><q id='3h5ZY'><span id='3h5ZY'><b id='3h5ZY'><form id='3h5ZY'><ins id='3h5ZY'></ins><ul id='3h5ZY'></ul><sub id='3h5ZY'></sub></form><legend id='3h5ZY'></legend><bdo id='3h5ZY'><pre id='3h5ZY'><center id='3h5ZY'></center></pre></bdo></b><th id='3h5ZY'></th></span></q></dt></tr></i><div id='3h5ZY'><tfoot id='3h5ZY'></tfoot><dl id='3h5ZY'><fieldset id='3h5ZY'></fieldset></dl></div>
  1. <legend id='3h5ZY'><style id='3h5ZY'><dir id='3h5ZY'><q id='3h5ZY'></q></dir></style></legend>
  2. <tfoot id='3h5ZY'></tfoot>
  3. <small id='3h5ZY'></small><noframes id='3h5ZY'>

    • <bdo id='3h5ZY'></bdo><ul id='3h5ZY'></ul>
    1. 从扩展模板覆盖包含模板中的金佳挡路

      Override Jinja block in included template from extending template(从扩展模板覆盖包含模板中的金佳挡路)

      <i id='sTfi0'><tr id='sTfi0'><dt id='sTfi0'><q id='sTfi0'><span id='sTfi0'><b id='sTfi0'><form id='sTfi0'><ins id='sTfi0'></ins><ul id='sTfi0'></ul><sub id='sTfi0'></sub></form><legend id='sTfi0'></legend><bdo id='sTfi0'><pre id='sTfi0'><center id='sTfi0'></center></pre></bdo></b><th id='sTfi0'></th></span></q></dt></tr></i><div id='sTfi0'><tfoot id='sTfi0'></tfoot><dl id='sTfi0'><fieldset id='sTfi0'></fieldset></dl></div>
      • <bdo id='sTfi0'></bdo><ul id='sTfi0'></ul>

        1. <tfoot id='sTfi0'></tfoot>

                <tbody id='sTfi0'></tbody>

                <small id='sTfi0'></small><noframes id='sTfi0'>

              • <legend id='sTfi0'><style id='sTfi0'><dir id='sTfi0'><q id='sTfi0'></q></dir></style></legend>
              • 本文介绍了从扩展模板覆盖包含模板中的金佳挡路的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                问题描述

                我有一个带有Materialize CSS框架的Flask项目。我想根据用户正在查看的当前页面将class="active"添加到导航菜单中的li元素。我的主模板包括一个带有菜单的模板,菜单为每个项目的类定义一个挡路。呈现的模板扩展Main并覆盖其中一个块,但这不起作用。如何覆盖在Include中定义的挡路?

                main.html

                <div class="menu_container">
                    {% include "menu_items.html"%}
                    {% block body %}{% endblock %}
                </div>
                

                menu_items.html

                <li class="{% block home_active %}{% endblock %}">Homepage</li>
                <li class="{% block other_page_active %}{% endblock %}">Other Page</li>
                

                homepage.html

                {% extends main.html %}
                {% block home_active %}active{% endblock %} #Trying to add class active, doesn't work.
                {% block body %}
                    # Homepage content goes here
                {% endblock %}
                

                推荐答案

                此行为似乎合乎逻辑,但当前您无法从子模板覆盖包含的挡路。此功能已implemented一次,但由于具有一些向后不兼容的副作用而被恢复。

                但当然也有解决办法。最简单的解决方案是将每个挡路定义放在main.html模板中,然后在homepage.html中进行扩展就可以了。

                第二种解决方案是使用全局变量,因为子模板中的赋值是全局的,并且在评估模板之前执行。下面是一个示例:

                main.html

                在这里,我们定义了一个变量,可以从子模板中覆盖该变量。我们还为其设置了默认值。

                {% set active_item = active_item|default('home') %}
                <div class="menu_container">
                    {% include "menu_items.html"%}
                    {% block body %}{% endblock %}
                </div>
                

                menu_items.html

                我们根据active_item变量将active类添加到项目中。

                <li class="{% if active_item == 'home' %}active{% endif %}">Homepage</li>
                <li class="{% if active_item == 'other' %}active{% endif %}">Other Page</li>
                

                homepage.html

                在此模板中,我们为active_item变量设置了一个值。

                {% extends 'main.html' %}    
                {% set active_item = 'home' %}
                
                {% block body %}
                    # Homepage content goes here
                {% endblock %}
                

                这篇关于从扩展模板覆盖包含模板中的金佳挡路的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                相关文档推荐

                groupby multiple coords along a single dimension in xarray(在xarray中按单个维度的多个坐标分组)
                Group by and Sum in Pandas without losing columns(Pandas中的GROUP BY AND SUM不丢失列)
                Group by + New Column + Grab value former row based on conditionals(GROUP BY+新列+基于条件的前一行抓取值)
                Groupby and interpolate in Pandas(PANDA中的Groupby算法和插值算法)
                Pandas - Group Rows based on a column and replace NaN with non-null values(PANAS-基于列对行进行分组,并将NaN替换为非空值)
                Grouping pandas DataFrame by 10 minute intervals(按10分钟间隔对 pandas 数据帧进行分组)

                    <bdo id='udaSq'></bdo><ul id='udaSq'></ul>
                          <tbody id='udaSq'></tbody>

                        <tfoot id='udaSq'></tfoot>
                          <legend id='udaSq'><style id='udaSq'><dir id='udaSq'><q id='udaSq'></q></dir></style></legend>
                        1. <small id='udaSq'></small><noframes id='udaSq'>

                        2. <i id='udaSq'><tr id='udaSq'><dt id='udaSq'><q id='udaSq'><span id='udaSq'><b id='udaSq'><form id='udaSq'><ins id='udaSq'></ins><ul id='udaSq'></ul><sub id='udaSq'></sub></form><legend id='udaSq'></legend><bdo id='udaSq'><pre id='udaSq'><center id='udaSq'></center></pre></bdo></b><th id='udaSq'></th></span></q></dt></tr></i><div id='udaSq'><tfoot id='udaSq'></tfoot><dl id='udaSq'><fieldset id='udaSq'></fieldset></dl></div>