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。你能发布关于这个问题的所有模板文件吗?