miyachinこんにちは、MIYACHIN(@_38ch)です。この記事では、Pythonで作る、軽量なWebアプリケーション「Flask」についてご紹介していきます。目次Flask(フラスク)とは?こういう時はFlaskを使えFlaskを使って簡易アプリを10分で作ってみるFlask(フラスク)とは?Flaskは2010年から続く、いわゆるマイクロフレームワークという最小限のライブラリやツールのみを必要とするPythonで書かれたWebフレームワークです。僕は今まで、何個かのWebフレームワークを試したことがあるんですが、Flaskが一番初期構築も楽だったし、シンプルなファイル構成になるなという印象です。プログラミング初心者の方が最初にWebアプリを開発するときのフレームワークとしてはかなりおすすめできるかもしれません。他のWebフレームワークと比較して、有名度では劣るので自社のメインプロダクトに採用している企業は少ないかもしれません。非常にクイックにサーバーサイドを構築できるので、ちょっとしたダッシュボードやお遊びサービスを作るときには便利なフレームワークだと言えます。いう時にはFlaskを使えFlaskを使うべきシーンは、「すでにPythonでスクリプトを書いていて、それをAPI化してアプリとして使いたい時」です。いうことかというと、例えば、データサイエンティストがPythonを使って、文章要約アルゴリズムを作ったとします。実際そのアルゴリズムに与えているテキストデータは、Pythonファイルから.txtファイルを読み込んで、その要約された結果が出力されます。それでも凄いのですが、それがアプリ上で、テキストフォームに長文を打ち込んで、要約ボタンを押すと、数秒後に要約された結果が返ってくるという方がより多くの人に、そのアルゴリズムを試してもらうことができます。このように、すでにあるPythonスクリプトを、そのまま簡単にアプリ化したい時には、Flaskを使うのがベストだと思われます。Flaskを使って簡易アプリを10分で作ってみるそれでは、実際にFlaskを使って簡易アプリを作っていきましょう。前提と作業環境は以下です。--versionをTerminalやCommandPromptで打って確認しましょう。Flaskをインストールflask-appというディレクトリを作成して、pipでFlaskをインストールしてあげましょう。Flaskapp.pyを作成まずは、Flaskの根幹となるPythonファイルを作成します。このファイル名はなんでも良いですが、flask.pyにするとflaskのパッケージ内のファイルとコンフリクトするのでそれ以外にしましょう。いう文字列を返すシンプルなロジックを書いています。シンプルですよね?Flaskアプケーションを起動させるこれだけで、最小限のアプリを作るための準備は整いました。簡単すぎじゃないですか?それでは、app.pyを起動していきましょう。quit)上記2つのコマンドをTerminalで実行してあげるだけです。アクセスしてみてください。表示されました!しかし、これは、Pythonから直接文字列を返しているだけなので、それをHTML上に描画するにはどうしたら良いか気になります。FlaskにはJinja2というテンプレートエンジンが付いているのでそれを使ってみましょう。app.pyと同じディレクトリにtemplatesというフォルダを新規に作成します。Jinjaを使ってみるtemplatesディレクトリ配下に、index.htmlというファイルを追加しました。</body></html>bodyはapp.pyから受け取ったmessageをフォントサイズ100pxで表示させるように書いています。app.py側には’/’にリクエストがあれば、index.htmlとmessageの内容をブラウザに返すという風に書きましょう。render_templateのところです。引数に、返すtemplateファイル、第二引数以降で、一緒に返す変数を置いています。World!’という値が入っているわけです。フォントサイズ100pxで表示されました!この記事では、簡単なFlaskの使い方をご紹介しました。別の記事で、発展的な使い方をご紹介していきます。公式サイトもわかりやすく書かれているので、ぜひ参照してみてください。usershttp://flask.pocoo.orghttp://flask.pocoo.orgこの記事に関して、もしくは、発展的な使い方に関して何かご質問などあれば、Twitter経由でご連絡いただけると助かります。MEMIYACHIN飽き性な性格です。大学時代は経済学を専攻しましたが、在学中にサービス開発の楽しさに目覚め、1年の修行(フリーター)期間を経て、IBMにエンジニアとして入社。プライベートでは、Walicaという複数人複数回の立替え清算計算サービスを作っています。FameThemes。