文章内容

2018/7/18 12:32:34,作 者: 黄兵

jinja2.exceptions.UndefinedError: there is no parent block called 'top_menu'.

使用Flask jinja2,报如下错误:

jinja2.exceptions.UndefinedError: there is no parent block called 'top_menu'.

原因:

父模板没有top_menu模块,但是在这里代码是这样写的:

<!-- BEGIN TOP NAVIGATION MENU -->
{% block top_menu %}
{{ super() }}
{% endblock %}
<!-- END TOP NAVIGATION MENU -->

super()是用来呈现父块的内容。但是父块又没有定义top_menu所以会出现错误。

既然知道了原因,那问题就好解决了,修改代码如下:

<!-- BEGIN TOP NAVIGATION MENU -->
{% block top_menu %}
{% endblock %}
<!-- END TOP NAVIGATION MENU -->

之后子模板调用就可以解决问题了。


参考资料:

Template Designer Documentation

get content from parent block in jinja2


黄兵个人博客原创。

转载请注明出处:黄兵个人博客 - jinja2.exceptions.UndefinedError: there is no parent block called 'top_menu'.

分享到:

发表评论

评论列表