Flaskのデフォルト機能でできない機能実装するときに選択する拡張機能

  • このエントリーをはてなブックマークに追加

目次

Flaskでやりたいことが出てきた時に使うパッケージ

FlaskはDjangoと違い最低限の機能しか入っていないが、実際にそれを行いたくなった時にどのパッケージを入れれば良いのかを調べると、そういえば一覧を見たことが無いなと思ったので作った。

だいたい以下を入れておけばなんとかなるので、あんまり必要な機能というのもない気がする。

やりたいことと、その対応拡張機能

やりたいこと 拡張機能名
デバッグ用の便利な機能を追加したい Flask-DebugToolbar
ログイン機能を実装したい Flask-Login
DBが使いたい Flask-SQLAlchemy
i18n(internationalization)対応したい。
l10n(localization)対応したい。 各言語対応したい
Flask-Babel
フォームを追加したい Flask-WTF
CSRF対応したい Flask-WTF
reCAPTCHA対応したい Flask-WTF
パスワードを暗号化したい Flask-Bcrypt
REST対応したい Flask-RESTful
CORSを許可したい Flask-Cors

各拡張機能について

拡張機能名 URL 備考
Flask-DebugToolbar https://flask-debugtoolbar.readthedocs.io/en/latest/ デバッグに役立つ情報を含むオーバーレイを追加。
Flask-Login https://flask-login.readthedocs.io/en/latest/ ユーザセッション機能を追加。(ログイン、ログアウト、セッションの記憶)
Flask-SQLAlchemy https://flask-sqlalchemy.palletsprojects.com/en/2.x/ ORMラッパー追加。
組み合わせる場合はmysql+pymysqlのように使用。
Flask-Babel https://flask-babel.tkte.ch/ i18n, l10n対応追加。
Flask-WTF https://flask-wtf.readthedocs.io/en/0.15.x/ WTForm統合追加。
reCAPCHA対応追加。
CSRF対応追加。
Flask-Babelとの連携追加。
ファイルのアップロード対応を拡張。
Flask-Bcrypt https://flask-bcrypt.readthedocs.io/en/latest/ 暗号化対応追加。
Flask-RESTful https://flask-restful.readthedocs.io/en/latest/ RESTful API構築を簡単にするORMライブラリを追加。
Flask-Cors https://flask-cors.readthedocs.io/en/latest/ CORSを処理するFlask拡張機能を追加。

Flask拡張機能一覧

なお、Flaskの拡張機能を全て見たい場合は以下を参照すると良い。

https://pypi.org/search/?c=Framework+%3A%3A+Flask

拡張機能を選ぶ際は以下に気をつけて欲しい。

  • ドキュメントがちゃんと整備されているものを選ぶ(ドキュメントが無いものは使い方が分からない。困った時に調べることもできない。)
  • バージョンが全然上がっていないものは選ばない(0.0.1とか、1.0.0から始まってるとか。3.0.0なのに実は3回しかバージョンアップしていないとか。)
  • 他に似たようなパッケージがある場合は、最もメンテナンスされていて、ドキュメントが豊富なものを選ぶ。(PyPIにあるからといって正しい物とは限らない。ウィルス入っているかも?)
  • できるだけメンテナンスされているものを選ぶ(メンテナがいないと、セキュリティ対応とかされなくなるので。)
  • このエントリーをはてなブックマークに追加

コメントを残す


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください