为啥我不能在 if 标记内嵌套块标记?
Posted
技术标签:
【中文标题】为啥我不能在 if 标记内嵌套块标记?【英文标题】:Why can't I nest a block tag inside an if tag?为什么我不能在 if 标记内嵌套块标记? 【发布时间】:2010-10-30 21:04:33 【问题描述】:我有一个名为base.html
的主模板文件,其中包含以下代码:
% ifequal environment "dev" %
% block stylesheets %% endblock %
% endifequal %
我在其他模板中继承它并执行以下操作:
% block stylesheets %
<link ... >
% endblock %
问题是,我链接的样式表永远不会被应用,样式表块似乎被忽略,无论是否在基础中满足 ifequal 条件。
【问题讨论】:
【参考方案1】:编辑(2010 年 10 月 14 日):
原来的问题标题不再正确,根据 Django 票上的this comment。
原答案:
我不知道为什么不,但你可以这样做:
% block stylesheets %
% ifequal environment "dev" %
... something ....
% else %
block.super
% endifequal %
% endblock %
重新考虑了一下 - 我想这意味着在每个模板中重复该逻辑,这是相当不令人满意的,但无论如何我都会把这个答案留在这里。我快速浏览了 Django 票证,找不到任何相关内容。
【讨论】:
【参考方案2】:这个问题不再相关 - 从r12655 开始,您可以在条件中嵌套块标记。
【讨论】:
+1 我可能会想出解决方法来使它成为一个 if 块。我也可以尝试构建一个补丁。 这已不再正确也不相关。下面的答案是正确的。 另见***.com/questions/12088222/…以上是关于为啥我不能在 if 标记内嵌套块标记?的主要内容,如果未能解决你的问题,请参考以下文章
内联标记块 (@<p>Content</p>) 不能嵌套。只允许一级内联标记
为啥我不能使用 folium.Map() 函数在地图中标记值列表?