Python - flask - 基本


クラウディア 


1. 概要
2. 基本

1. 概要

 「flask」の基本的な書き方について、記述します。

2. 基本

 なんども書いてきましたが。  一番シンプルな書き方として・・・。

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
  return "Hello, World!"

if __name__ == "__main__":
  app.run()
 1行ずつ、「Gemini」伍長に解説してもらいました。  1行目は、「flask」パッケージから、アプリケーションの本体となる「Flask」クラスを読み込んでいます。  これにより、「Python」で、ウェブサーバーとしての機能(リクエストの受け取りやレスポンスの返却)が使えるようになります。  3行目は、「Flask」クラスから、実際のアプリの実体(インスタンス)を作っています。  「__name__」は、「Python」の特別な変数で、現在のファイルの場所を指します。  「Flask」は。この情報を使って、後で使う「HTML」テンプレートや画像がどこにあるかを探します。  5行目は、ルーティングの定義です。  「@」は、「デコレータ」と呼ばれ、直後の関数に「窓口」としての機能を追加するおまじないの記述です。  特定の「URL」(パス)にアクセスがあった時、どの関数を動かすかを指定しています。  ここでは、「'/'」(トップページ)を指定しています。  6行目は、ブラウザからアクセスがあった時に実行される具体的な処理を定義しています。  7行目の、「return」で返した文字列(ここでは "Hello, World!")が、そのままブラウザの画面に表示されます。  9行目は、「このファイルが直接実行された時だけ、以下の処理(app.run)を行え」という決まり文句です。  「uwsgi」を使って動かす場合、「uwsgi」が直接「app」オブジェクトを読み込むため、実はこの下の「app.run() 」は実行されません。  開発中に自分で「python app.py」と打ってテストする時のための記述です。  10行目は、「Flask」に内蔵されているテスト用のウェブサーバーを起動します。  「uwsgi」を使用する場合、9、10行目が実行されることはないのですが。  デバッグで使用するときに必要なので、残しておくのが賢明なようです。