著者:本田崇智
ページ数:160

¥380¥0

Flaskは2018/04/26にバージョン1.0がリリースされました。初めてのメジャーアップデートとなるため、Flask1.0には今後のコアとなる機能も多数盛り込まれております。

本書は、Flask1.0で新しく追加された機能について、筆者自身が実際に動かしながらひととおり網羅するようまとめた本です。

Flaskを扱うにあたって、以下の要素になじみのない方には、有益な部分もあるかと考えております。

  • アプリケーションファクトリ
  • Flaskコマンドライン
  • Flaskテストクライアント
  • MethodView

本書の特徴

  1. それぞれの機能について、実際に動作する最小限のコード、もしくはテストコードとしてまとめております。機能によってはWebフレームワークを構成する要素技術についても触れております。
  2. Flaskのソースコードやテストコードについても触れているので、Flask内部の仕様についても一歩深く知ることができるようになっています。

目次

  1. はじめに
  2. アプリケーションファクトリ
    1. create_appまたはmake_appの自動検出
    2. デバッグモードにおけるapp.jinja_envとテンプレートオートリロード設定の同期
    3. script_infoを任意に変更
  3. コンテキストスタック
    1. アプリケーションコンテキストスタックが更新されない問題を修正
    2. コンテキストスタックのリクエスト時のセッション問題を修正
  4. アプリケーションインスタンス
    1. static_host引数の追加
    2. host_matching引数の追加
    3. subdomain_matching引数の追加
  5. セッション
    1. セッションCookieドメインのIPアドレス対応
    2. セッションCookieドメインの警告
    3. SESSION_COOKIE_SAMESITE
    4. Varyヘッダへの対応
  6. Flaskコマンドライン
    1. 開発サーバーはデフォルトでスレッドを使用
    2. flaskコマンドでアプリケーションを起動する場合はapp.runをスキップ
    3. python-dotenvライブラリの対応
    4. test_cli_runner()メソッドの追加
    5. –certと–keyオプションの追加
    6. flask routesコマンドの追加
    7. FLASK_APPにてアプリケーションファクトリと引数の対応
    8. FLASK_APPにて.pyの指定が不要に
  7. テストクライアント
    1. JSONデータの対応
    2. フルパスのURLが渡された場合にURL内のスキームを使用
    3. EnvironBuilderもしくはdictの受け渡しが可能に
    4. app.test_request_contextにsubdomainとurl_scheme引数が追加
  8. View
    1. MethodViewサブクラスがメソッドハンドラを継承
    2. Viewクラスにprovide_automatic_optionsが追加
    3. add_url_rule()にprovide_automatic_optionsが追加
  9. Blueprint
    1. url_prefixが/で終わっていた場合に自動で削除
    2. ビュー関数名に.を含んでいた場合はエラー処理を行うように変更
    3. json_encoderとjson_decoderをオーバーライド可能に
  10. Config
    1. MAX_COOKIE_SIZE
    2. APPLICATION_ROOT
    3. silentモード
    4. SERVER_NAME
    5. TRAP_BAD_REQUEST_ERRORS
  11. JSON
    1. JSONIFY_PRETTYPRINT_REGULARをデフォルトで無効に設定
    2. Request.get_json()のキャッシュ対応
    3. Request.get_json()にてエンコーディング方式の自動検出
    4. flask.json.JSONEncoder()の時刻問題を修正
    5. TaggedJSONSerializer.registerで新しいタグが追加可能に
    6. RequestクラスとResponseクラスにJSonMixinが追加
  12. メソッド
    1. url_for()で指定された_scheme引数をエラー時も引き継げるように変更
    2. Flask.loggerが簡素化
    3. 一部の古い非推奨コードが削除
    4. send_file()にてUnicodeファイル名をサポート
  13. リクエスト・レスポンス
    1. HTTP範囲リクエストの問題を修正
    2. make_response()にて型チェックを行いTypeErrorを追加
  14. エラーハンドリング
    1. HTTPExceptionサブクラスのエラーハンドリング問題を修正
    2. MROのエラーハンドリング問題を修正
  15. 全般
    1. Python 2.6および3.3のサポート廃止
    2. 必須ライブラリのバージョンを最新の安定バージョンに変更
    3. ベストプラクティスを身に着けられるよう公式ドキュメントとサンプルコードを更新
    4. 公式ドキュメントのフォーマットを更新

シリーズ一覧

  • 同シリーズの電子書籍はありませんでした。

 

  Kindle Unlimitedは、現在30日間無料体験キャンペーンを行っています!

この期間中は料金が980円→0円となるため、この記事で紹介している電子書籍は、すべてこのKindle Unlimited無料体験で読むことが可能です。

Kindle Unlimited 無料体験に登録する