軽量WebフレームワークのFlaskに入門(準備、起動、HTML、静的ファイル、GET、POSTなど)Tweetこんにちは、@yoheiMuneです。今日はPythonのWebフレームワークの1つ、Flaskをブログで書きたいと思います。個人的にも業務でも使っていて、軽量フレームワークでとても簡単に使えます。目次FlaskとはFlaskとは、PythonのWebフレームワークの1つです。Webフレームワークでは他にもdjangoがありますが、それに比べて超軽量なところが特長です。数行でWebアプリケーションが作れて、何かを手軽に作るには便利なフレームワークです。超軽量で自由が効くので、大きなアプリケーションを作ろうとすると、フォルダ構成やクラス設計などなど、決めることが多いです(自分で決めたいという人は嬉しい話ですが)。Flaskのインストールインストールはpip経由で行うことができます。FlaskFlaskでハローワールドそれでは早速、FlaskでWebアプリケーションを作ってみましょう。以下のようなコードを書きます。World!」と返します。これを起動するには、以下のようなコマンドを実行します。World!」と表示されます。これだけのことで、Webアプリケーションが立ち上げられるところが、"超軽量"という特徴になっています。HTMLを返却する上記のようにただ単にテキストだけを返却するのだとつまらないので、ここではHTMLテンプレートを用いた、HTMLの返却をやって見たいと思います。HTMLテンプレートを保存するディレクトリを作成します。templatesFlaskはデフォルトでtemplatesフォルダをテンプレート置き場として認識してくれます(設定で変更も可能です)。そのテンプレートを呼び出すように、app.pyを変更します。message="Hello")そして、index.htmlでは、以下のような実装を行います。}}</p></body></html>これで、HTMLが返却されるようになりました。画像とCSSとJavaScriptなどの静的ファイルを扱うHTMLが返せるようになると、画像やCSSやJavaScriptなどの静的ファイルを扱いたくなります。それらを配置するディレクトリを作成します。statictemplatesと同様に、Flaskがデフォルトでstaticフォルダを静的ファイル置き場と認識します(こちらも設定で変更可能です)。/static/xxxというリクエストは、ルーティング処理を書かずともFlaskが自動的に処理してくれます。ここでは、app.jsとapp.cssとlogo.pngを配置してみます。app.pystaticapp.jsapp.csslogo.pngそして、template/index.htmlを以下のように書き直します。}}</p></body></html>これで、HTMLの機能をフルに使えるようになります。GETパラメータを扱うFlaskでGetパラメータを扱うには、以下のようにコードを書きます。POSTパラメータを扱うFlaskでPOST通信を受けつけて、POSTパラメータを取得するには以下のように実装します。usernameURLからアイテムIDなどを取得するFlaskではRESTであるような、URLに含まれたIDを取得することも簡単にできます。postidまた、以下のように型を指定することも可能です。postid参考資料Flaskの詳細は、Flaskの以下チュートリアルが非常にわかりやすいので(英語ですが)、そちらを参考資料として掲載します。http://flask.pocoo.org/docs/0.10/quickstart/最後に今回は、PythonのFlaskというWebアプリケーションフレームワークについてブログを書きました。個人的にちょこちょことアプリを作る身としては、これくらいライトに(そして必要な機能はある)作れるライブラリは非常に魅力的です(そしてGithubに公開されているコードを読むと、またそれも勉強になります)。今後もFlaskについてはいろいろとブログを書きたいと思います。最後になりますが本ブログでは、Python・Swift・Java・フロントエンド・機械学習など雑多に情報発信をしていきます。自分の第2の脳にすべく、情報をブログに貯めています。コマンドライン引数を扱うもしご興味をお持ち頂けましたら、ぜひRSSへの登録をお願い致します。Munesada)です。世の中をさらに便利に面白くをモットーにWeb界隈で活動しています。Now機械学習/AI/自然言語処理のホットな"今"をお届けするキュレーションメディアです。