# 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が持っている開発用サーバーを、デバッグモードで実行しています。