2017-08-24 6 views
0

プログラミングが初めてです。私は、フラスコ、Python、HTMLを使ってWebアプリケーションを作成しようと決めました。私は3つのファイルを設定しました。 2つのHTMLと1つのpython:Pythonでフラスコを使用しているときに、私は 'extend'機能を正しく動作させることができません。

{% extends 'didntwork.html' %} 
{% block body %} 
<h4>information content</h4> 
{% endblock %} 
             . 
:これは( connection.html)最初にそのべき入力情報ファイルである

<!doctype html> 
<html> 
    <head> 
    <title>My Webpage</title> 
    </head> 
    <body> 
     <h3>Information:</h3> 
     {% block body %}{% endblock %} 
    </body> 
</html> 
             . 

これは、情報を交換している必要がありますHTMLファイル(didntwork.html)であります

最後に、これは、Pythonでフラスコアプリ(main.py)ためのロジックである:

from flask import Flask, render_template 

app = Flask(__name__) 


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


if __name__ == '__main__': 
    app.run(debug=True) 

残念ながら、2番目のHTMLファイルのextendsは認識されないようで、そのブロックの情報は最初のHTMLファイル(didntwork.html)に置き換えられません。

これが出力されます。

This is the output.

期待される結果が、フレーズ「情報内容」で身体にH4のタグを追加する必要があります。

ありがとうございます、ありがとうございます。

+0

[編集]に[mcve]を含めるようにしてください。テキストの写真を投稿せず、実際のテキストを投稿してください。 – davidism

答えて

0

問題は{% extends 'didntwork.html' %}です。

<!doctype html> 
<html> 
    <head> 
    <title>My Webpage</title> 
    </head> 
<body> 
    <h3>Information:</h3> 
    {% block body %}{% endblock %} 
</body> 
</html> 

があなたのconnection.htmlファイルです:私はこのコードを含むファイルを伝えることができるものから。

レンダリングしているのと同じファイルに拡張しています(didntwork.html)。この場合、extends行をベースhtmlを拡張するように変更する必要があります。connection.htmlあなたのdidntwork.html

使用このコードを:

{% extends 'connection.html' %} 
{% block body %} 
<h4>information content</h4> 
{% endblock %} 

あなたはあなたのrouteで間違ったファイルをレンダリングしている明確化

ON Template Inheritance

UPDATEのBASEでより多くの情報を見つけることができます。 connection.htmlをレンダリングすると、didntwork.htmlファイルが拡張されます。

+0

申し訳ありませんが、私の元の投稿には名前が付けられていません。誤解を招く恐れがあります。私は適切なファイル名で編集しました。 –

+0

申し訳ありませんが、誤ってファイル名が混ざりました。あなたの応答に感謝しますが、提供されたコードを追加すると '' 'RecursionError'''になります。 –

+0

あなたの説明に基づいて私の答えを更新しました。それを試してみてください。 –

関連する問題