【Webアプリケーションフレーム】Flaskの基本的な使い方紹介 | 千葉で集客ホームページ制作はティーエスフォート
コラム

【Webアプリケーションフレーム】Flaskの基本的な使い方紹介

【Webアプリケーションフレーム】Flaskの基本的な使い方紹介

FlaskはPythonベースのWebアプリケーションフレームワークの1種です。アプリケーションフレームを使うことによって、ゼロベースでWebサービス、Webアプリを開発することなく、開発を効率化することができます。

Flaskは標準で提供する機能を最小限に保っていることで「マイクロフレームワーク」とも呼ばれています。

軽量ですが、URLのルーティング、テンプレート、セッションなど基本的な機能が使用可能です。

この記事ではFlaskの基本的な使い方についてご紹介します。

はじめに

FlaskはPythonベースのWebアプリケーションフレームワークの1種です。

アプリケーションフレームを使うことによって、ゼロベースでWebサービス、Webアプリを開発することなく、開発を効率化することができます。

Flaskは標準で提供する機能を最小限に保っていることで「マイクロフレームワーク」とも呼ばれています。

軽量ですが、URLのルーティング、テンプレート、セッションなど基本的な機能が使用可能です。

この記事ではFlaskの基本的な使い方についてご紹介します。

使ってみる

ここではFlaskを実際に使ってみるプロセスをご紹介します。

環境を作る



$ mkdir myproject
$ cd myproject
$ python3 -m venv venv


環境をアクティブにする



$ . venv/bin/activate


Flaskのインストール


Flaskをインストールする前にPythonのバージョンを確認しましょう。

最新バージョンのPythonを使用することをお勧めします。FlaskはPython3.6以降をサポートしています。

pip(Pip Installs Python)コマンドを使ってインストールすることができます。
pipはパッケージソフトウェアを管理するソフトウェアです。


$ pip install flask


Webアプリケーションの作成


Webアプリケーションを作ってみます。

hello.py


from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_world():
return '

sample

'

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


コードの解説は以下です。
1.まず、Flaskクラスをインポートします。

2.次にクラスのインスタンスを作成します。最初の引数は、アプリケーションのモジュールまたはパッケージの名前です。これは、Flaskがテンプレートや静的ファイルなどのリソースを探す場所を認識できるようにするために必要です。

3.次に、route()デコレータを使用して、関数をトリガーするURLをFlaskに指示します。
このroute関数は、ユーザーのブラウザに表示したいメッセージを返します。デフォルトのコンテンツタイプはHTMLであるため、文字列内のHTMLはブラウザによって描画されます。

次に以下のコマンドを実行してください。


$ export FLASK_APP=hello
$ flask run
* Running on http://127.0.0.1:5000/


5000はポート番号です。

これでアプリケーションが実行されます。

ファイルのアップロード


アップロードしたファイルはFlaskで簡単に処理できます。

enctype="multipart/form-data"HTMLフォームに属性を設定することを忘れないでください。そうしないと、ブラウザがファイルを送信できません。

アップロードされたファイルは、メモリまたはファイルシステムの一時的な場所に保存されます。filesリクエストオブジェクトの属性を確認することで、これらのファイルにアクセスすることができます。

サーバーのファイルシステムにそのファイルを保存できるメソッドもあります。これがどのように機能するかを示す簡単な例を次に示します。


from flask import request

@app.route('/upload', methods=['GET', 'POST'])
def upload_file():
if request.method == 'POST':
f = request.files['the_file']
f.save('/var/www/uploads/uploaded_file.txt')
...

まとめ

今回の記事では、Flaskとは何か、またインストールを含めた環境構築についてご紹介しました。

Pythonはシンプルな構文として定評のあるプログラミング言語であり、そのPythonで作られているフレームワークでもあり、使いやすいです。

導入を検討してみてはいかがでしょうか。
ページ先頭へ