Flask模板扩展问题

时间:2017-09-27 11:55:24

标签: python templates flask

Flask模板扩展因某些原因无效。

我创建了一个具有以下文件结构的基本烧瓶应用程序:
enter image description here

__init__.py为空

app.py的代码是:

from flask import Flask, render_template

app = Flask(__name__)

@app.route('/')
def index():
    return render_template("index.html")

if (__name__ == "__main__"):
    app.run()

index.html的代码是:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
</head>
<body>

  <h1>from index</h1>

  {% block ext %}
  {% endblock %}

</body>
</html>

ext.html的代码是:

{% extends "index.html" %}

{% block ext %}

  <h2>from ext</h2>

{% endblock %}

当我在命令行python app.py中运行时,它没有给出错误或警告,日志只是

 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
127.0.0.1 - - [27/Sep/2017 14:48:40] "GET / HTTP/1.1" 200 -

但是在浏览器中,我唯一的输出是“来自索引”。所以Flask没有看到ext.html的模板扩展,我在浏览器中看不到“来自ext”。这有什么不对?某处有错字吗?

1 个答案:

答案 0 :(得分:2)

你犯了错误的东西。继承从孩子到父母;如果您想要使用子模板,那么您需要调用它。

def index():
    return render_template("ext.html")