尝试在if,else条件下扩展模板时,“ else”行上的块标记无效

时间:2018-10-30 15:46:53

标签: python django jinja2

我正在构建博客风格的django功能(v_posts.html),我打算将其显示为独立的后列表(如果从导航栏手动请求)或显示为与iframe相邻的文章(如果从另一个父项请求)网址,文章帖子)。

如果显示为独立博客,则它应包括所有默认页面元素(即navbar),因此我将其扩展到默认路径(blog / body.html >> base.html),该路径在链中包括这些元素。但是,如果帖子列表显示在iframe中,则不需要添加导航栏,因此我将其直接扩展到单独的路径(blog / base_iframe.html)。我正在使用“如果,否则”语句来实现这一目标。

不幸的是,使用下面的“ if,else”语句,我收到一条错误消息:

v_posts.html

1 {% if not "article-posts" in request.path %}

2    {% extends "blog/body.html" %}

3 {% else %}

4     {% extends "blog/base_iframe.html" %}

5 {% endif %}

消息:第3行“ else”上的无效块标签。您忘记注册或加载此标签了吗?

请注意,当我删除{%extended%}命令时,“ if,else”语句可以正常工作。如果从“ if”语句之外调用{%extended%}命令,也可以正常工作。我在一个jinja文档中找到了一个示例,我试图按照该文档进行操作,但是我不知何故在这里缺少了一些东西。

{%,如果不是独立的%} {%扩展了'master.html'%} {%endif-%}

请有人解释,我做错了什么?可能还有另一种更好的方法吗? 感谢您的帮助。

0 个答案:

没有答案