错误是:无效的块标记:"endif"。
首先关于错误是什么 - 我将整个模板包装到条件中:
{% if something %}
{% else %}
{% load cms_tags sekizai_tags menu_tags %}
{% render_block "css" %}
{% render_block "js" %}
{% endif %}
这会导致 django 抛出错误:
模板语法错误在/mypage/无效的阻止标记:"endif"
但问题显然出在 classytags/sekizai 作为
{% if something %}
{% else %}
<h1>Hello world</h1>
{% endif %}
呈现时没有错误。
有谁知道我如何避免此错误或修复它?
现在第二部分 - 我试图实现的是 - 当请求是 ajax 请求时,我想显示一些不同的 HTML 页面。条件应该是如果request.is_ajax。但如果改为以更清晰的方式说明我的观点。我正在使用 django-cms,它允许您每个页面只设置一个模板。如果我可以在 ajax 请求的情况下提供相同的内容但周围的 html 不同,这将不是问题,但不幸的是渲染失败......
嗯,文档中很清楚,不允许在另一个模板标签块中使用 {% render _block ... %}。
如果渲染块中的条件,您不能这样做吗?
编辑:刚刚注意到这个问题不是最近。哦,好吧。好奇你最终是如何解决问题的......