2017-09-27 19 views
0

フラスコテンプレート拡張が何らかの理由で機能しません。フラスコテンプレート拡張問題

私は、次のファイル構造の基本的なフラスコのアプリを作成しました:
enter image description here

__init__.pyapp.pyからコードの空

では、次のとおりです。index.htmlから

from flask import Flask, render_template 

app = Flask(__name__) 

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

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

コードがあります:

<!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からのコードは次のとおりです。私はそれが何のエラーや警告を与えないコマンドラインpython app.pyで実行すると

{% extends "index.html" %} 

{% block ext %} 

    <h2>from ext</h2> 

{% endblock %} 

は、ログがちょうど

* 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 - 

しかし、ブラウザである、唯一の出力Iは、持っているのは "インデックスから"です。ですから、Flaskはext.htmlのテンプレート拡張を見ることができず、ブラウザから "extから"は見えません。ここで何が間違っていますか?どこかにタイプミスはありますか?

答えて

1

あなたは間違ったことをレンダリングしています。継承は子供から親になります。子テンプレートを使用する場合は、それを呼び出す必要があります。

def index(): 
    return render_template("ext.html") 
関連する問題