1. Webアプリケーションを作る準備

Flaskでウェブアプリケーションを開発するために必要となるライブラリや ツールをインストールします。

今回のハンズオン用のファイルを取得

Flaskでウェブアプリケーションを開発するために必要となるライブラリを インストールします。

gitが使える方:

git clone https://github.com/planset/study_flask

gitが使えない方は ここをクリック してダウンロードしてください。

各種インストール

pip

パッケージを管理するツールです。

インストール方法:

easy_install pip

使い方:

# Flaskのパッケージをインストールする
pip install Flask

# flaskに関係するパッケージを検索する
pip search Flask

# テキストファイルにまとめたパッケージを一度にインストールする。
pip install -r requirements.txt

# 現在の環境にインストールしているパッケージの一覧
pip freeze

# いろいろインストールしたパッケージを別の環境でも
# インストールしたいときは、freeze -> install -r するとよい
pip freeze > requirements.txt
pip install -r requirements.txt

virtualenv

グローバルな環境のpythonには影響しないよう、 個別のpython環境を管理するためのツールです。

インストール方法:

pip intall virtualenv

virtualenvwrapperも入れると便利です。

Flask

WebフレームワークのFlaskです。

インストール方法:

pip install Flask

実際に環境を作ってみよう

実際にpythonの仮想環境を作ってみましょう。

まず、今日のハンズオンで使うディレクトリを作成し、 更にその中の env というディレクトリに仮想環境を構築します。

構築したらenv/bin/activateまたはenv/Scripts/activate.batを実行して仮想環境に入ります。

$ mkdir handson
handson $ cd handson
handson $ virtualenv env
handson $ source env/bin/activate
[env] handson $

仮想環境に入るとコンソールに[env]というように現在の仮想環境が表示されます。

Flaskをインストールしましょう。

[env] handson $ pip install flask
...
Successfully installed Flask Werkzeug Jinja2 itsdangerous markupsafe
Cleaning up...

色々と表示がでますが、最後にSuccessfullyと表示されていればOKです。

Flaskについて

Flaskはマイクロフレームワークと呼ばれる部類の ウェブアプリケーションフレームワークです。

フルスタックフレームワークと違い必要最小限の機能だけで構成されています。

Hellow world!で簡単な例を確認してみましょう。

FlaskでHello world!

virtualenvの環境にactivateした状態で行います。

  1. ファイルを編集します。
mkdir helloworld
cd helloworld
vim app.py
  1. 以下のように編集します。
from flask import Flask

app = Flask(__name__)

@app.route('/')
def index():
    return 'Hello world!'

if __name__ == '__main__':
    app.run(debug=True)

  1. 実行します。
python app.py
  1. ブラウザで http://127.0.0.1:5000 を開きます。

解説

from flask import Flask

flaskパッケージのFlaskクラスをインポートしています。

app = Flask(__name__)

Flaskクラスのインスタンスを作成してします。

@app.route('/')
def index():
    return 'Hello world!'

Flaskクラスのインスタンス(app)のrouteデコレータを使い、 / というURLに対しての処理を追加しています。

if __name__ == '__main__':
    app.run(debug=True)

Flaskの開発用サーバーを実行しています。

debug=Trueとするとデバッグモードで起動します。

host=‘0.0.0.0’でバインドするIPの指定や、port=5000でポートを指定できます。