Flaskの機能拡張モジュール
Flaskの機能拡張モジュール
ここでFlaskをサポートする機能拡張について、紹介しておきます。
Flask-SQLAlchemy:Flask から SQLAlchemyを利用するときに必要
SQLAlchemy:ORMとしてデータベースを抽象化して利用できる
Flask-Migrate:FlaskからAlembicを利用するときに必要
Alembic:データベース・マイグレーション・フレームワーク
Flask-Marshmallow:FlaskからMarshmallow を利用するときに必要
Marshmallow:Pythonオブジェクトのシリアライズ/ディシリアライズを行うライブラリ
Marshmallow-SQLAlchemy:MarshmallowをSQLAlchemyと連携させるときに必要
Flask-WTF: FlaskからWTForms を利用できるようにするもの
WTForms:HTMLフォームをクラス定義として簡単に作成できる
WTForms-SQLalchemy:ORMにマップさせたモデルフォームを自動作成する
Flask-Mail:Flaskからメール送信するときに便利
Flask-LDAPConn
LDAPへのORM ldap3 を使って簡単にLDAP連携ができる
Flask-Bootstrap:FlaskからBootstrap3を利用するために必要
flask-bs4、flask-bootstrap4:FlaskからBootstrap4を利用するために必要
Bootstrap:フロントエンドWebアプリケーションフレームワーク
Flask-Babel: Flask から pybabel を利用するために必要
pybabel:アプリケーションの国際化。メッセージとコードを分離し管理
Flask-Debugtoolbar:Flaskアプリにデバッグツールバーを付加してデバッグが楽になる
Flask-Limiter:ユーザのトラフィックを制限できる
Flask-Navi:ナビゲーションメニューを簡単につくれる
Flask-MonitoringDashboard:Flaskアプリケーションのパフォーマンスを収集/表示
Flask-AppUtils:アプリケーション開発に便利なデコレータやバリデータなどのコレクション
flask-skeleton:Flaskアプリケーションのスケルトンファイルを自動生成する
REST API
Flask-RESTful:RESTful/APIを簡単に実装するときに便利
Fask-restx:RESTful/APIやAPIドキュメントの自動化を提供
セキュリティー
Flask-Login: Flask にユーザログイン処理を追加できる
Flask-Admin:Flaskのアプリケーションに管理者画面を追加する
Flask-SuperAdmin:Flaskアプリケーションに管理者画面を簡単に追加する
Flask-HTTPAuth:FlaskアプリケーションにHTTPベーシック/ダイジェスト認証を追加する
Fask-User:Flaskアプリケーションにユーザ認証/登録機能を追加する
Flask-JWT:FlaskアプリケーションにJWT認証機能を提供する
Flask-Tailsman:FlaskアプリケーションをHTTPS対応にする
Fask-OAuthlib:FlaskアプリケーションにOAuth認証機能を提供する
Flask-OAuth:外部のOAuth対応アプリケーションと対話する機能を提供する
Flask-Dance:外部のOAuth対応アプリケーションと対話する機能を提供する
Flaskと連携して利用すると便利な拡張モジュール
Flask でバックグラウンドジョブを実行させたいときなどに便利なもの
Redis Queue / RQ:Redis ベースでキューシステム(待ち行列)を実装するもの
Celery:分散型タスクキューシステム
全文検索
elasticsearch:分散型RESTful検索/分析エンジン
Gunicorn:WSGIサーバ
pytest と pyest-cov:アプリケーションのテスト自動化
Frozen-Flask:
Flaskアプリケーションを静的サイトに変換する
サーバー側にWebサーバー以外のソフトウェアをインストールせずに公開できる
ダッシュボード
Bootstrap を使った美しい管理画面/ダッシュボードを作れるパッケージが多数あります
Flask-Black-dashboard:
Flask-Boilerplate-Dashboard-Argon:
Light Bootstrap Dashboard:
Argon Dashboard:
Flask のデザインセット
Flask-AppSeed:
多数のあらかじめデザインされた美しいサイトデザインを利用できる
基本有料だけれど、無料で利用できるデザインセットもある