Flaskの便利な拡張機能(Extension)を紹介していく

スポンサーリンク

今回は、Flaskの必須機能であるExtensionをいくつか紹介します。

これらのエクステンションは便利で簡単に使うことができます。

スポンサーリンク

なぜ Flask の拡張機能が必要なのか?

ご存知の通り、Flask は Werkzueg ベースの WSGI とルーティング、Jinja2 ベースの Template Engine のみをコア機能とする、マイクロウェブフレームワークです。

また、Cookieやセッション、JSONや静的ファイルなどのフロントエンドの機能もサポートしています。

しかし、これだけでは本格的なセキュアWebアプリケーションを構築することはできません。

そこで、Flask Extensions の出番です。

Flask-Extensionsを使うことで、Flaskフレームワークを使ってより多くのタスクを実行することができます

たくさんのFlask-Extensionsがあります。

ここでは、最もよく使われるFlask-Extensionsをいくつか見ていきます。

いくつかの重要なFlask拡張機能

Flask の拡張機能で最もよく使われるものは以下の通りです。

エクステンション ユーティリティ
Flask-SQLAlchemy はデータベースのテーブルを簡単に操作するためのモデルタイプのインターフェイスを提供します。
Flask-WTF: Flask Web アプリケーションでフォームをデザインするための代替方法を提供します。WT Formsを使うことで、ユーザから送信されたフォームデータを検証し、安全性を確保することができます。
Flask-Mail: Flask アプリケーションがクライアント/ユーザにメールを送信するための SMTP インターフェイスを提供します。
Flask-Login:FlaskのWebアプリケーションにユーザー認証機能を提供します。
Flask-Debugtoolbar:Flaskアプリケーションのデバッグに使用する強力なデバッグツールバーです。
Flask-Sijax|WebアプリケーションでAJAXを使いやすくするPython/jQueryライブラリであるSijaxのサポートをFlaskアプリケーションに追加するのに役立つ。

これらのExtensionはPythonモジュールで、Flaskアプリケーションの機能を拡張するものです。

したがって、Python のライブラリのように pip ユーティリティでインストールすることができます

Flask-Extension “flask-foo” をインストールするためのシンタックスは以下のようになります。

pip install flask-foo
 
#pip install flask-Sqlalchemy
#pip install flask-wtf
#pip install flask-mail
#pip install flask-login
#pip install flask-debugtoolbar
#pip install flask-sijax

インポートもPythonのライブラリのインポート方法と同じです。

from flask_foo import <Class>, <function>...

Flask のバージョンが 0.7 以上の場合は、flask.ext.を使って拡張機能をインポートすることもできます。

構文は以下の通りです。

from flask.ext import foo #sqlalchemy, login .....

互換モジュールが有効でない場合、エラーが発生することがあります。

有効にするには、次のコードを使います。

import flaskext_compat
flaskext_compat.activate()
 
from flask.ext import foo

有効化すると、今までと同じようにflask.extが使えるようになります。

タイトルとURLをコピーしました