jinja2 块不在模板中呈现

jinja2 blocks not rendering in template

好的,这就像一个新手问题,但我正在使用 Flask 尝试使用 Jinja 进行模板继承。

我 运行 遇到的问题是我的块不会在我的 base.html 模板中呈现。

这是我的base.html

代码:

<!doctype html>
<html>
    <head>
        <title>{% block title %}{% endblock %}</title>
    </head>
    <body>
        {% block body %}{% endblock %}
        <h2>From Layout</h2>   
    </body>
</html>

这是我的 index.html 扩展 base.html

{% extends "base.html" %}

{% block title %} Home {% endblock %}

{% block content %}
<h1> Welcome home {name}</h1>
{% endblock %}

这是我的主要 Flask 文件,我 运行 我的应用来自:

from flask import Flask
from flask import render_template

app = Flask(__name__)

@app.route('/')
@app.route('/<name>')
def index(name="Mark"):
    return render_template('index.html', name=name)

我错过了什么吗?似乎无法弄清楚我做错了什么。

您的索引文件有 "block content",但您的基础文件有 "block body"。选择其中之一,但要保持一致。

一旦你解决了这个问题,你还需要修复你显示名称的方式:变量语法是 {{ name }},而不是 {name}