Django / sekizai / classytags模板抛出有关endif标记的错误

时间:2014-01-14 21:38:48

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

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

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

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

这导致django抛出错误:

/ mypage /上的TemplateSyntaxError 无效的块标记:'endif'

但问题显然是classytags / sekizai

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

渲染没有错误。

有谁知道我怎么能避免这个错误或修复它?

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

1 个答案:

答案 0 :(得分:1)

嗯,在the documentation中很明显,不允许在另一个模板标记块中使用{%render _block ...%}。

如果在渲染块中有条件,你不能这样做吗?

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