Flask

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索
Flask
開発元 Armin Ronacher
初版 2010年04月01日 (2010-04-01)
最新版 0.10.1 / 2013年06月14日(9か月前) (2013-06-14[1]
プログラミング言語 Python
対応OS Cross-platform
種別 ウェブアプリケーションフレームワーク
ライセンス BSDライセンス
公式サイト http://flask.pocoo.org/
テンプレートを表示

Flask(フラスク)は、プログラミング言語Python用の、軽量なウェブアプリケーションフレームワークである。Werkzeug WSGIツールキットとJinja2テンプレートエンジンを基に作られている。BSDライセンスで公開されている。

概要[編集]

Flaskは、標準で提供する機能を最小限に保っているため、自身を「マイクロフレームワーク」と呼んでいる。Flask自身は、他のフレームワークがしばしば持っているような、データベース抽象化レイヤやフォーム値の検証などの機能を持たない。これは、どんなWebアプリケーションにも適合する良い基盤を作るための設計判断だとしている(例えば、テンプレートエンジンはほとんどのWebアプリケーションで有用だが、RDBMS等はすべてのアプリケーションが必要とするものではない)[2]。とはいえ、それらの機能を、あたかもFlaskが元からサポートしているかのように追加できる拡張性も備えている。現段階において、オブジェクトリレーショナルマッパや、フォーム値の検証、ファイルのアップロード、ユーザログイン、種々のオープンな認証技術をサポートする拡張などが第三者によって提供されている[3]

歴史[編集]

FlaskはArmin Ronacherによって開発された。彼は『エイプリルフールのジョークとして作ったのだけれど、有名になって、いつのまにか本格的なアプリケーションになってしまった』[4][5]と述べている。

バージョン0.10で、Python 3に対応した[6]

機能[編集]

  • 開発用サーバとデバッガを備える
  • テンプレートエンジンとしてJinja2を使用
  • RESTfulなリクエストディスパッチ
  • 整備されたドキュメント
  • 統合されたユニットテストサポート
  • メッセージ認証コード付きのセキュアCookieのサポート(クライアントサイドセッションを実現)
  • WSGI 1.0 の完全な準拠
  • Unicodeベース
  • Google App Engine互換
  • 機能を追加する各種の拡張が利用可能

サンプル[編集]

以下のサンプルコードは、ルートパスにアクセスすると "Hello World!" を表示するだけのアプリケーションである。

from flask import Flask
app = Flask(__name__)
 
@app.route("/")
def hello():
    return "Hello World!"
 
if __name__ == "__main__":
    app.run()

参考[編集]

外部リンク[編集]

脚注[編集]

  1. ^ http://flask.pocoo.org/docs/changelog/#version-0-10-1
  2. ^ Design Decisions in Flask”. 2013年2月20日閲覧。
  3. ^ Extensions Registry”. 2013年2月20日閲覧。
  4. ^ Ronacher, Armin. “Opening the Flask”. 2011年9月30日閲覧。
  5. ^ Denied: the next generation python micro-web-framework (April Fools page)”. 2011年9月30日閲覧。
  6. ^ Pythonの軽量Webフレームワーク「Flask」がPython 3に対応” (2013年6月16日). 2014年3月11日閲覧。