こちらに新しく書き直しました!内容も大幅に増えているので、こちらをご覧ください!
この記事について
こちらにまとめてあります。
今回、何をするか?
用意したHTMLを表示してみます!
とりあえず動かしてみよう!
# app.py from flask import Flask, render_template app = Flask(__name__) @app.route('/') def index(): message = 'Hello, world!' return render_template('index.html', message=message) if __name__ == '__main__': app.run(debug=True)
この他に、表示するhtmlを用意する必要があります。
「templates」という名前のフォルダを作り、その中にindex.htmlを作りましょう
<!DOCTYPE html> <html> <head> <title>Sample</title> </head> <body> <p>{{ message }}</p> </body> </html>
確認ですがファイルの階層はこのようになっています。
/ ├─ app.py └─ templates └─ index.html
この状態で、実行します。
python app.py
ブラウザで「http://127.0.0.1:5000/」にアクセスすると
htmlで「Hello, world!」と表示されるはずです!
解説
前回からの、変更部分のみの説明となります。
from flask import Flask, render_template
htmlのレンダリングを行う「render_template」をインポートします。
return render_template('index.html', message=message)
htmlを返すため「render_template」を使います。 ただここで第2引数として渡しているmessage
はHTML内に埋め込む変数です。これは何個でも追加できるので、埋め込みたい分だけ、引数に指定しましょう。HTML内には{{変数名}}
で埋め込む位置を指定します。
htmlファイルは「templates」のフォルダ内にいなければいけませんので、気をつけてください。
ちなみに、配列などを渡してHTML内でfor文を書くといったこともできます。
次回
URLを指定して、何か動作を起こしましょう!