はじめに
- 初心者が簡単なWebアプリを開発していきます。
- 手順をStep-by-Step方式で記載していきます。
- 前回(Step1)では、環境構築からHelloWorldまで実施しました。
開発環境
- Windows10 Home
- Python3.7.0 (pip 18.0)
- Flask 1.0.2
- Jinja2 2.10
前回の復習として
- 仮想環境**(step2)**を作成
- 仮想環境の有効化
- pipのアップグレード
- flaskのインストール
- アプリの作成
Hello Flask
hello.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def main():
return 'Hello World.'
if __name__ == '__main__':
app.run(debug=True)
Step2 - テンプレートを利用する
テンプレート用のフォルダを作成する
(step2) C:\pystudy\lesson-flask>mkdir step2\templates
アプリを修正する
- render_templateをインポートする
- main関数を修正
- テンプレートへデータ受け渡し
- テンプレートファイルの指定
hello.py
from flask import Flask
from flask import render_template
app = Flask(__name__)
@app.route('/')
def main():
props = {'title': 'Step-by-Step Flask', 'msg': 'Hello World.'}
html = render_template('hello.html', props=props)
return html
if __name__ == '__main__':
app.run(debug=True)
テンプレートファイルを作成する
templates\hello.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>{{props.title}}</title>
</head>
<body>
<div id="contents">
<p>{{props.msg}}</p>
</div>
</body>
</html>
実行
- 環境変数の設定
- サーバ起動
今回のまとめ
- テンプレートを利用するとヘッダーやフッターなどを使いまわせたりして便利です。
- コンテンツを動的に作成出来るようになります。
Step3で実施すること
- ルーティングを使ってみます。