PythonのWeb開発フレームワーク「Flask」のインストール・使い方

person 73spicafolder_openPython, 技術系access_time 2017-02-20

PythonでWeb開発したいと思っていたので使ってみることに.バイト等ではPHPマンですが研究やCTFではPython使っていて,サーバ側の処理書くときに慣れたPython使えると楽しそうだなぁと思っていました.PythonでのWeb開発に手を出してみるファーストステップです.

Flaskとは

FlaskはPythonでWeb開発するためのマイクロフレームワークです.所謂フルスタックフレームワークと逆のものと思っていれば良いのではないでしょうか.公式ドキュメントには以下のようにあります.

“Micro” does not mean that your whole web application has to fit into a single Python file (although it certainly can), nor does it mean that Flask is lacking in functionality. The “micro” in microframework means Flask aims to keep the core simple but extensible. 省略

別に単一ファイルで作るとか機能が不足しているっていうことは無いんだけど,シンプルかつ拡張性があることを意味してるんだよねみたいなことを書いてる.機能が欠けているわけではないけど最小限のものに留めてあるので,ORM等はPeeweeなど別のものを使う必要がある?という感じでしょうか.

環境

今回Flaskをインストールして使ってみる環境です.

  • Windows 8.1
  • Cygwin
  • Python2.7
  • virtualenv 15.1.0

以下のように確認.

 

環境構築

こちらの公式ドキュメントを参考にインストールします.インストールはpip install でできるのでとても簡単ですが,今回はドキュメントに従ってvirtualenvを使った環境構築をしてみます.

virtualenvとは

あるディレクトリに仮想的な環境を作ることができます.この仮想的な環境の中でインストールしたPythonライブラリなどは,実環境のlib等を汚しません.ですから,色んなバージョンを試したいとか色んなライブラリを試したいといった時に,virtualenvで作った仮想的な環境の中でやることで実環境を汚さずに試すことができるのです.

以降この記事では,virtualenvによって作成した仮想的な環境を仮想環境と呼びましょう.

virtualenvのインストール

管理者権限でCygwinを起動して以下のコマンドを実行.

 virtualenvで仮想的な環境を作成

以下のようにワークスペースを作っていきます.任意のディレクトリで以下のコマンドを実行します.3行目のvenvは任意の名前です.

念のため以下のように環境ができているか確認.

できてそう.

仮想環境のアクティベート

以下のようなコマンドを実行することで,仮想環境を立ち上げることができます.

このように (venv) って出ていたらOK.逆に終了する時は以下のコマンド.

 

Flaskのインストール

本命のインストールです.と言っても仮想環境立ち上げてpip installするだけ.

最後に (venv) と出てるのが仮想環境内でコマンドを叩いた証.

これでFlaskのインストールも完了し,環境構築完了です.

Flaskの使い方

公式ドキュメントのQuick StartのA Minimal Applicationから.Flaskを使った最小限のアプリケーションは以下のコードで作成できます.

このような感じです.必要な環境変数を追加して実行します.

この状態で上記URLにブラウザでアクセスすれば,ブラウザに”Hello, World!”が印字されることが確認できる.

なおこのコマンドはテスト向きだが実際にサーバで動かす時は別のオプションが必要になるとのこと.その辺はまだちゃんと見ていない.また,テストでローカル以外からアクセスさせたい時は以下のオプションで全IPからのアクセスを許可する.

Windowsならこの時ファイアウォールの設定変更が促されるのでパブリックを許可すればOK.これで同一ネットワーク内からのアクセスもできるようになる.普段はローカルだけで十分なのでこのコマンドは使わないと思いますが.

ちなみに,以下のオプションを付けると,デバッグでコードを変えた時にいちいちflask runをし直さずに済むそうです.

ですが僕の環境ではこの環境変数を入れるとflask runで簡易サーバが立たなくなってしまったので消しました.

以上,Flaskの環境構築方法と最低限の使い方でした.

余談

PythonならDjangoとか有名ですよね.最初はDjangoで始めようと思ってたのですが知人が「Flaskって何かイケてる感じする」と言ったのでFlaskにしました.Djangoもその内触ってみたいです.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">