Django 1.11がリリースされましたね

Djangoフレームワークの1.11がリリースされましたね。

Django 1.11 released | Weblog | Django

  • 1.11はLTS(Long Term Support)バージョンです。メンテナンス期限はリリースから3年後までなので、2020年4月までになります。

    • 1つ前のバージョン1.10のメンテナンス期限は2017年12月までになります。
    • 1つ前のLTSバージョンは1.8で、メンテナンス期限は2018年4月までになります。
  • 対応するPythonのバージョンは、2.7、3.4、3.5、3.6です。Python2系をサポートする最後のバージョンです。

  • 次の大きなバージョンアップは2.0で2017年12月に予定されています。Python3.5以上をサポートする予定になっています。

ここ最近はロードマップのスケジュール通りにリリースされているので、次のバージョンも、さほどずれることはないのかもしれません。

エラーメッセージなどのリソースの日本語翻訳はやっておきました。変な訳があればTransifexかGoogleGroupなどで連絡して頂けるとよいかと。

気になった変更点など

全部には目を通してませんが、いくつか気になった点など。

Django 1.11 release notes | Django documentation | Django

  • install_requiresにpytzが入った

    • Djangoに初めてinstall_requiresが追加されました。今のところpytzだけ。
  • モデルに指定するデータベースのインデックスがクラスベースになった

    • インデックス名の指定ができるようになったみたいです
  • フォームのwidgetレンダリングがテンプレートシステム経由になった

    • 以前はPythonコードでHTMLパーツを生成してたので、分離しやすくなりそう?
  • ORMのサブクエリまわりをいくらか明示的に記述できるようになった

  • django.contrib.authのviewがクラスベースになった

参考情報

バージョンアップの準備の参考に。