| 開発者 | アーミン・ロナチャー |
|---|---|
| 初回リリース | 2010年4月1日 |
| 安定リリース | 3.0.3 [1]
/ 2024年4月7日 |
| リポジトリ | github.com/pallets/flask |
| 書かれた | パイソン |
| タイプ | ウェブフレームワーク |
| ライセンス | BSD 3条項ライセンス |
| Webサイト | palletsprojects.com/p/flask/ |
FlaskはPythonで書かれたマイクロウェブフレームワークです。特定のツールやライブラリを必要としないため、マイクロフレームワークに分類されます。 [2]データベース抽象化レイヤー、フォーム検証、または既存のサードパーティライブラリが一般的な機能を提供するその他のコンポーネントはありません。ただし、Flaskは、Flask自体に実装されているかのようにアプリケーション機能を追加できる拡張機能をサポートしています。オブジェクトリレーショナルマッパー、フォーム検証、アップロード処理、さまざまなオープン認証テクノロジー、およびいくつかの一般的なフレームワーク関連ツールの拡張機能が存在します。[3]
Flaskフレームワークを使用するアプリケーションにはPinterestやLinkedInなどがある。[4] [5]
歴史
Flaskは、2004年に結成された国際的なPython愛好家グループであるPocooのArmin Ronacherによって作成されました。 [6] Ronacherによると、このアイデアはもともとエイプリルフールのジョークでしたが、本格的なアプリケーションになるほど人気がありました。[7] [8] [9]名前は以前のBottleフレームワークをもじったものです。[7]
2004年にロナッハーとゲオルク・ブランドルがPythonで書かれた掲示板システムを作成したとき、PocooプロジェクトのWerkzeugとJinjaが開発されました。[10]
2016年4月、Pocooチームは解散され、Flaskと関連ライブラリの開発は新しく結成されたPalletsプロジェクトに引き継がれました。[11] [12] 2018年以降、Flask関連のデータとオブジェクトはBootstrapでレンダリングできます。[13]
FlaskはPython愛好家の間で人気が高まっています。2020年10月現在、 GitHubのPythonウェブ開発フレームワークの中で[update]2番目に多くのスターを獲得しており、Djangoにわずかに次ぐ数です。[ 14]また、2018年から2022年まで、Python開発者調査で最も人気のあるウェブフレームワークに選ばれました。[15] [16] [17] [18] [19]
コンポーネント
マイクロフレームワーク Flask はPallets Projects (旧称Pocoo ) の一部であり、他のいくつかのプロジェクトをベースにしており、すべてBSD ライセンスの下で提供されています。
工具
Werkzeug (ドイツ語で「ツール」) は、 Web Server Gateway Interface (WSGI) アプリケーション用の Python プログラミング言語のユーティリティ ライブラリです。Werkzeug は、リクエスト、レスポンス、およびユーティリティ関数のオブジェクトをインスタンス化できます。カスタムソフトウェア フレームワークの基盤として使用でき、Python 2.7 および 3.5 以降をサポートしています。[20] [21]
神社
Jinja も Ronacher によるもので、Python プログラミング言語用のテンプレート エンジンです。Django Web フレームワークと同様に、サンドボックス内でテンプレートを処理します。
マークアップセーフ
MarkupSafe は、Python プログラミング言語用の文字列処理ライブラリです。同名の MarkupSafe型はPython 文字列型を拡張し、その内容を「安全」としてマークします。MarkupSafe を通常の文字列と組み合わせると、マークされていない文字列が自動的にエスケープされ、既にマークされている文字列が二重にエスケープされることが回避されます。
危険だ
ItsDangerous は、Python プログラミング言語用の安全なデータシリアル化ライブラリです。ユーザーがセッションの内容を改ざんできないように、 Flask アプリケーションのセッションをCookieに保存するために使用されます。
特徴
- 開発サーバーとデバッガー
- ユニットテストの統合サポート
- RESTfulリクエストディスパッチ
- Jinjaテンプレートを使用
- セキュアクッキーのサポート(クライアント側セッション)
- 100% WSGI 1.0準拠
- Unicodeベース
- 完全なドキュメント
- Google App Engine の互換性
- 機能を拡張できる拡張機能
例
次のコードは、アクセス時に「 Hello World !」と表示する単純な Web アプリケーションを示しています。
Flask からインポート Flask
app = Flask ( __name__ )
@app . route ( "/" )
def hello () -> str :
"Hello World"を返します
__name__ == " __main__ "の場合:
app.run ( )
参照
参考文献
- ^ “リリース 3.0.3”. 2024年4月7日. 2024年4月23日閲覧。
- ^ 「Flask Foreword」。2017年11月17日時点のオリジナルよりアーカイブ。
- ^ 「Flask Extensions」。2018年5月17日時点のオリジナルよりアーカイブ。
- ^ Pinterest は Flask でどのような課題に直面しましたか?
- ^ レイチェル・サンダース: Flask 拡張機能の開発 - PyCon 2014
- ^ 「Pocoo チーム」。2018 年 3 月 15 日時点のオリジナルよりアーカイブ。
- ^ ab Ronacher, Armin. 「Opening the Flask」(PDF) 。 2016年12月17日時点のオリジナル(PDF)からアーカイブ。 2011年9月30日閲覧。
- ^ Ronacher, Armin (2010年4月3日). 「4月1日の死後分析」. Armin Ronacherの考えと著作. 2018年5月14日時点のオリジナルよりアーカイブ。 2015年7月25日閲覧。
- ^ 「Denied: the next generation python micro-web-framework (April Fools page)」。2011 年 9 月 4 日時点のオリジナルよりアーカイブ。2011年 9 月 30 日閲覧。
- ^ 「歴史」。Pocoo チーム。2017 年 11 月 19 日時点のオリジナルよりアーカイブ。2015 年 3 月 25 日閲覧。
- ^ Ronacher, Armin (2016-04-01). 「Hello Pallets Users」. Pallets プロジェクト. 2021-05-08に閲覧。
- ^ “Pocoo”. www.pocoo.org . 2021年5月8日閲覧。
- ^ “Bootstrap-Flask”. HelloFlask . 2022年11月6日閲覧。
- ^ 「GitHub スターによる Python ライブラリ」。Github。2020年1 月 27 日閲覧。
- ^ 「Python 開発者調査 2018」 www.jetbrains.com. 2018-11-01.
- ^ 「Python 開発者調査 2019」 www.jetbrains.com. 2019 年。
- ^ 「Python 開発者調査 2020」 www.jetbrains.com. 2020 年。
- ^ 「Python 開発者調査 2021」 www.jetbrains.com. 2021 年。
- ^ 「Python 開発者調査 2022 結果」www.jetbrains.com. 2022 . 2023 年 10 月 17 日閲覧。
- ^ Ronacher, Armin. 「Werkzeug The Python WSGI Utility Library」. palletsprojects.com . 2018年5月27日閲覧。
- ^ Ronacher, Armin. 「インストール、Python バージョン」。palletsprojects.com。2021年5月11日時点のオリジナルよりアーカイブ。2020年4月20日閲覧。
外部リンク
- 公式サイト
