文章内容
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'.
Block names in Jinja have to be valid Python identifiers and may not contain hyphens, use an underscore instead
- 爸,这是谣言。 - 我是你爸,怎么可能错?
- 爸,这是谣言。 - 我是你爸,怎么可能错?
评论列表