Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 而不是{%block content%}I';我在navbar下使用{%block sub header%},这不是有效的吗?_Python_Django_Django Templates - Fatal编程技术网

Python 而不是{%block content%}I';我在navbar下使用{%block sub header%},这不是有效的吗?

Python 而不是{%block content%}I';我在navbar下使用{%block sub header%},这不是有效的吗?,python,django,django-templates,Python,Django,Django Templates,你好,我想有不同的子标题下导航栏为不同的网页。所以我用了我学过的{%block%}。但这次它没有显示任何内容,没有错误。我做错了吗 内部navbar.html <nav> <div id="bottom header" style="background:yellow;"> {% block sub-header %} {% endblock %} </div> </nav> 那么在index.html中我有 ex

你好,我想有不同的子标题下导航栏为不同的网页。所以我用了我学过的
{%block%}
。但这次它没有显示任何内容,没有错误。我做错了吗

内部navbar.html

<nav>
    <div id="bottom header" style="background:yellow;">
    {% block sub-header %}
    {% endblock %}
    </div>
</nav>
那么在index.html中我有

extends navbar.html
extends base.html

{% block sub-header %}
<p>hello yall</p>
{% endblock %}
扩展base.html
{%block sub-header%}
你好,亚尔

{%endblock%}
Django不处理包含文件中的块

include标记应被视为“render”的一个实现 此子模板并包含HTML”,而不是“解析此子模板” 并包括其内容,就好像它是母公司的一部分一样”。这意味着 包含的模板之间没有共享状态——每个 include是一个完全独立的渲染过程

有关更多信息,请参阅

问题是
{%block sub_header%}
navbar.html
中,它是
base.html
中包含的模板。绕过此限制的一种方法是将部分导航提取到基座中:

<!-- base.html -->
<body>
    <nav class="navbar navbar-default navbar-static-top" role="navigation">
        {% include 'navbar.html' %}
        {% block sub_header %}{% endblock %}
    </nav>
    <!-- other HTML here -->
</body>

Django不处理包含文件中的块

include标记应被视为“render”的一个实现 此子模板并包含HTML”,而不是“解析此子模板” 并包括其内容,就好像它是母公司的一部分一样”。这意味着 包含的模板之间没有共享状态——每个 include是一个完全独立的渲染过程

有关更多信息,请参阅

问题是
{%block sub_header%}
navbar.html
中,它是
base.html
中包含的模板。绕过此限制的一种方法是将部分导航提取到基座中:

<!-- base.html -->
<body>
    <nav class="navbar navbar-default navbar-static-top" role="navigation">
        {% include 'navbar.html' %}
        {% block sub_header %}{% endblock %}
    </nav>
    <!-- other HTML here -->
</body>

我认为django模板引擎只接受字母数字字符和u作为块标记。因此,使用、
subheader
sub_header
@RodXavier,即使更改为subheader,它也不起作用……为什么要在base.html中扩展navbar.html?我想你应该使用include。哦,是的,我想使用include。你可以发布关于这个问题的所有模板文件吗?我想django模板引擎只接受字母数字字符和u作为块标记。因此,使用、
subheader
sub_header
@RodXavier,即使更改为subheader,它也不起作用……为什么要在base.html中扩展navbar.html?我想你应该使用include。哦,是的,我想使用include。你能发布关于这个问题的所有模板文件吗?