# FlaskでHello Worldと表示させる
# フォルダ構成
フォルダ構成は以下のようになります。
/flask/run.py
# コード
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return '<html><body><h1>Hello World</h1></body></html>'
if __name__ == '__main__':
app.run(debug=True)
# コード解説
# Flask読み込み
from flask import Flask
# Flaskインスタンスの呼び出し
app = flask.Flask(__name__)
という行は、 Flask クラスのインスタンスを作って、 app
という変数に代入しています。
オブジェクトの属性にアクセスする場合は、 .
という記号を使って、
オブジェクト名.要素名
のようにします。
クラスのインスタンスの場合はメソッドやメンバー変数が属性になりますが、 モジュールの場合はそのモジュールが持っているクラスや関数などが属性になります。
この場合、flaskモジュールが提供しているFlaskクラスを利用していることになります。
__name__
というのは、自動的に定義される変数で、現在のファイルのモジュール名が入ります。
ファイルをスクリプトとして直接実行した場合、 __name__
は __main__
になります。
# ルーティング
@app.route('/')
という行は、app
に対して /
というURLに対応するアクションを登録しています。
@
で始まる行はデコレータといって、その次の行で定義する関数やクラスに対して何らかの処理を行います。
@app.route('/')
は、次の行で定義される関数を指定したURL
にマッピングするという処理を実行しています。
# index関数を定義
def index():
という行は、defという関数を定義しています。
# HTMLを返す
return '<html><body><h1>Hello World</h1></body></html>'
は、 'Hello, World!' という文字列を返しています。
app.run(debug=True)
という行は、Flaskが持っている開発用サーバーを、デバッグモードで実行しています。