我最近遇到了同样的问题。我想继承几个子模板并且它起作用了。为了说明这一点,我想向您展示一个对我有用的解决方案:
我有一个包含块内容并由 manage.html 扩展的 base.html 文件。并且 manage.html 有一个由 internet_market.html 扩展的块 sub_manage,所以在视觉上它看起来像:
|- base.html (block content)
|--manage.html (extends base.html)
|---sub_manage.html (extends manage.html)
当我渲染它时,everythink 工作得很好,这意味着你可以在一个渲染中拥有多个 {% extends %} 。唯一的问题是,如果您使用 css 或 js 文件的相对链接,那么它可能无法正常工作,而是会呈现,但它不会找到您的 css/js 文件。像:
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="../static/css/bootstrap.min.css">
<script type="text/javascript" src="../static/js/bootstrap.min.js"></script>
<style type="text/css">
</head>
在这种情况下,您必须使用 url_for 来使用动态链接。像:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="{{url_for("static", filename = "css/bootstrap.min.css")}}">
<script type="text/javascript" src="{{url_for("static", filename = "js/bootstrap.min.js")}}"></script>
<style type="text/css">