2 года назад вышел Django 2.0. Тогда это было довольно знаменательным событием, потому что в том релизе была удалена поддержка Python 2.7. А это означало, что Django с этого момента может использовать чудесные фичи Python 3, не заморачиваясь о совместимости. Это было большим шагом.

И вот ровно через 2 года, пару дней назад, выходит релиз Django 3.0, и он не менее примечательный:

  • Внутри Django теперь с asyncio и поддерживает ASGI. Пока что, как сказано в документации (Asynchronous support), асинхронные views и middlewares нельзя, но скоро всё будет обязательно. В общем, asyncio поглощает Python.

  • В модели завезли нормальные enum’ы. Я когда-то ещё для Django 2.0 делал такую либу, прям с точно таким же поведением. Хех, значит, таки нужная штука была, раз теперь добавили вот. Пойду заархивирую проект.

  • Одной БД теперь дольше для ORM, теперь поддкрживается MariaDB. Вообще, ORM — лучшее, что есть в Django. Вытащить бы её в отдельный проект, и я бы везде её использовал. А миграции там какие, красота.

В общем, “I’m not dead yet!”, Django очень здорово растёт и развивается.