django cms - 无效的块标签 endblock

Posted

技术标签:

【中文标题】django cms - 无效的块标签 endblock【英文标题】:django cms - invalid block tag endblock 【发布时间】:2012-03-09 21:25:45 【问题描述】:

我试图让 django cms 与 pinax 一起工作,但由于某种原因 runserver 给了我这个: http://dpaste.com/704936/

接近尾声:

.... 
 File "/home/tux/VirtualEnvs/NewAvePinaxBootstrap/lib/python2.7/site-packages/sekizai/templatetags/sekizai_tags.py", line 43, in parse_blocks
    self.blocks['nodelist'] = self.parser.parse()
  File "/home/tux/VirtualEnvs/NewAvePinaxBootstrap/lib/python2.7/site-packages/django/template/base.py", line 237, in parse
    self.invalid_block_tag(token, command, parse_until)
  File "/home/tux/VirtualEnvs/NewAvePinaxBootstrap/lib/python2.7/site-packages/django/template/base.py", line 291, in invalid_block_tag
    raise self.error(token, "Invalid block tag: '%s'" % command)
django.template.base.TemplateSyntaxError: Invalid block tag: 'endblock'

endblock 如何是一个无效的块标签?当我从我的 INSTALLED_APPS 中禁用“cms”时,错误就消失了。所以,我认为出于某种原因这是 django cms 的错,还是这是一个更普遍的 django 问题? django cms 不能与 pinax 一起使用吗?我按照 django cms 文档上的教程制作/复制了他们的示例模板_1。

【问题讨论】:

没有看到你的模板代码很难判断,但请检查你是否 a) 在你的 settings.py 中包含中间件和上下文处理器,并且任何使用自定义标签的模板都包含 % load cms_tags % 行一开始。 【参考方案1】:

我想通了。问题出在模板中。我不知道 sekizai 标签不能在块标签中工作。来自sekizai documentation:

标签必须在基本模板中。它不能在包含的模板中使用。 标签不得放置在块标签内(带有结束标签的模板标签,例如 % block name %...% endblock %)。

供以后可能遇到此问题的人参考。这是有问题的代码:

% block extra_style %% render_block "css" %% endblock %

【讨论】:

很高兴您设法回答了自己的问题。您可能想尝试在有关您使用什么的问题中添加更多细节(例如,django-cms 和 sekizai 都在 INSTALLED_APPS 中,并且 sekizai.context_processors.sekizai 在 TEMPATE_CONTEXT_PROCESSORS 中)。 会的!谢谢你。我真的不知道我的问题出在哪里,所以我真的不知道到底什么是相关的。我将在以后的问题中添加更具体的细节。 另外 Django-CMS 本身也不喜欢它的 % cms_toolbar % 块内的标签。

以上是关于django cms - 无效的块标签 endblock的主要内容,如果未能解决你的问题,请参考以下文章

Django:无效的块标签'form.username'

Django 无效的块标签:'endfor',预期的'endblock'

Django:无效的块标签:'static',预期的'endif'

无效的块标签:'render_placeholder'

Google App Engine Python django TemplateSyntaxError:无效的块标签:'endif'

第 3 行的块标记无效:“原始”。您是不是忘记注册或加载此标签?使用 Django 1.9 和 Jinja2