2016-10-01 102 views
-1

好吧,这就像一个新手问题,但我试着用Jinja使用Flask的模板继承。jinja2块没有在模板中呈现

我遇到的问题是我的块不会呈现在我的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 %} 

这是我经营的主要瓶文件我的应用来自:

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) 

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

+0

'content'!='body'。 –

回答

0

您的索引文件具有“块内容”,但您的基本文件具有“块体”。选择一个或另一个,但要一致。

修复该问题后,您还需要修复显示名称的方式:变量语法为{{ name }},而不是{name}

+0

我刚刚意识到这是问题所在,并且正在输入答案。猜你打我吧:)。这样愚蠢的错误。谢谢:) – Craig

+0

是的,后来看到了。没问题。 – Craig