Jinja: 在包含标签中允许块覆盖会导致意外行为。

创建于 2013-06-10  ·  5评论  ·  资料来源: pallets/jinja

最有用的评论

提供包含块覆盖的包含应该如此容易,同时仅通过使用不同的模板标记名称来保持包含当前实现的兼容性:

{% include 'file.jinja2' %}

不会覆盖包含的块,而:

{% include_override 'file.jinja2' %}

做同样的事情。

很奇怪这么长时间没有实现这样的功能,知道Jinja2在大多数功能上是多么强大,实际上是最好的模板引擎之一,不仅适用于Python。

特别是如果已经完成了实际补丁。

所有5条评论

已恢复,将在下一个维护版本中发布。

这曾经被修复过吗? 我仍然遇到这个错误(与#169 和#84 相同)。

该错误仍然存​​在。

此错误已修复。 最初#84 在包含标签中引入了块覆盖,后来被合并,但它已经破坏了一些模板设置(重复块上的递归),因此出现了这个问题。

因为模板行为不应该改变, @mitsuhiko恢复补丁。

如果你想支持块覆盖,请提出一个新问题,也许是一个建议的工作解决方案。

提供包含块覆盖的包含应该如此容易,同时仅通过使用不同的模板标记名称来保持包含当前实现的兼容性:

{% include 'file.jinja2' %}

不会覆盖包含的块,而:

{% include_override 'file.jinja2' %}

做同样的事情。

很奇怪这么长时间没有实现这样的功能,知道Jinja2在大多数功能上是多么强大,实际上是最好的模板引擎之一,不仅适用于Python。

特别是如果已经完成了实际补丁。

此页面是否有帮助?
0 / 5 - 0 等级