2016-10-01 9 views
-1

これは初心者の質問のようですが、私はFlaskを使ってJinjaでテンプレート継承を試していました。jinja2ブロックはテンプレートにレンダリングされません

私の問題は、私のブロックが私のbase.htmlテンプレートでレンダリングされないことです。

これは私のbase.html

コードです:これはこれは私が実行し、私のメインのフラスコファイルです

{% extends "base.html" %} 

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

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

をbase.html拡張し、私のindex.htmlです

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

私のアプリから:

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

関連する問題