非同期処理サポートを進めた「Django 3.1」公開
PythonベースのWebフレームワーク「Django」開発チームは8月4日、最新版となる「Django 3.1」を公開した。
DjangoはPythonで作成されたWebアプリケーションフレームワーク。ユーザー認証、コンテンツ管理、サイトマップ、RSSフィードなどの機能を備えており、高速に開発できる。
Django 3.1は2019年12月に公開されたバージョン3系の初のポイントリリース。Pythonはバージョン3.6/3.7/3.8をサポートする。
バージョン3で導入した非同期処理対応をさらに進め、非同期のビュー、ミドルウェア、テストとテストクライアントなど、非同期の要求パスにフル対応した。同期型と非同期型を合わせて使うこともできる。
なお、現時点ではORM、キャッシュレイヤーなどは非同期アクセスをサポートしていない。開発チームでは、将来のリリースで対応していくとしている。
新しいフィールドとして、models.JSONFieldとforms.JSONFieldをサポートした。ともにカスタムJSONエンコーダー/デコーダーを使うもので、対応するデータベースバックエンドで使用できる。
django.core.signing.Signerおよびdjango.core.signing.dumps()が作成する署名やユーザーセッション、管理者サイトのクッキー、パスワードリセットトークンのエンコードなどで用いるハッシュアルゴリズムのデフォルトをsha1またはsha256に設定できるDEFAULT_HASHING_ALGORITHMが加わった。3.1で加わったsha256のサポート加わったためで、移行時の設定ができる。なお、sha1は次期メジャーリリース(「Django 4.0」)では削除されることになっている。
このほかにも、細かな強化が多数加わっている。