【问题标题】:Django / sekizai / classytags templates throw error about endif tagDjango / sekizai / classytags 模板抛出关于 endif 标签的错误
【发布时间】:2014-02-03 03:53:53
【问题描述】:

错误是:无效的块标签:'endif'。

首先关于错误是什么 - 我将整个模板包装成条件:

{% if something %}
{% else %}
{% load cms_tags sekizai_tags menu_tags %}
{% render_block "css" %}
{% render_block "js" %}
{% endif %}

这会导致 django 抛出错误:

/mypage/ 处的模板语法错误 无效的块标签:'endif'

但问题显然在于 classytags/sekizai as

{% if something %}
{% else %}
<h1>Hello world</h1>
{% endif %}

渲染没有错误。

有谁知道如何避免或修复此错误?

现在第二部分 - 我想要实现的是 - 当请求是 ajax 请求时,我想显示一些不同的 HTML 页面。条件应该是 if request.is_ajax。但是,如果更改以更清楚地说明我的观点。我正在使用 django-cms,它允许您每页只设置一个模板。如果我可以在 ajax 请求的情况下提供相同的内容但周围的 html 不同,这将不是问题,但不幸的是渲染失败......

【问题讨论】:

    标签: django django-templates django-cms django-sekizai


    【解决方案1】:

    嗯,在the documentation 中很清楚,在另一个模板标签块中使用 {% render _block ... %} 是不允许的。

    如果渲染块内的条件,你不能这样做吗?

    编辑:刚刚注意到这个问题不是最近的问题。那好吧。很好奇你最终是如何解决你的问题的......

    【讨论】:

    • 我没有。你是绝对正确的。我确实错过了文档的那一部分。我没有解决我的问题。这是classytags非常非常糟糕的功能,因此我正在认真考虑不再使用django cms。
    猜你喜欢
    • 2018-03-14
    • 2014-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-04
    • 2014-07-17
    • 2012-09-10
    • 2015-07-08
    相关资源
    最近更新 更多