Веб-версияОткрыть в Telegram

ПостЗачем нужен новый REST API для Django?

1 ноября 2025
D
DevBrain
Фотография
нажмите — покажем
Фотография
нажмите — покажем
Зачем нужен новый REST API для Django? Последний месяц я крайне увлечен созданием https://github.com/wemake-services/django-modern-rest (Кстати, у нас уже >200 звезд и 26 контрибьюторов при 0 релизов) Ключевой вопрос – зачем? Что будет нового? Во-первых, я крайне сильно люблю Django. Основная причина – под него есть буквально любые библиотеки. Все то, что в FastAPI нужно героически писать руками – в джанге уже давно есть и работает. Но, есть несколько основных причин, почему люди думают, что не любят джангу: 1. DRF, тут без лишних слов – он ужасен. Нет типизации, нет async, очень сложно работать с ним в сложных случаях 2. Многие считают, что джанга - сложная. Однако, она как FastAPI или Litestar может спокойно уместиться в один файл: https://django-modern-rest.readthedocs.io/en/latest/pages/micro-framework.html 3. Есть критика за архитектуру: тут нечего особо даже комментировать. На любом фреймворке можно писать хорошо, на любом можно писать плохо. Слой фреймворка очень тонкий 4. Медленный. А вот тут остановимся подробнее. На скринах выше можно сравнить, что с django-modern-rest, без нескольких будущих оптимизаций (привет cython и rust!), голая джанга начинает выглядеть не так уж и медленнее FastAPI: бенчи. Во-вторых, Django на длительный срок был в плену DRF. Который морально устарел еще в середине десятых. Потом появилась django-ninja, которая хоть и намного лучше, но все равно не решает главную задачу: интеграция с существующими тулами. Конечно, если затащить FastAPI дизайн в чужой мир, то ничего не будет нормально работать 🌚️️ Вот такие проблемы мы решаем. Одной строкой: - Супер строгая OpenAPI схема и валидация при разработке, что мы ее соблюдаем - Полная типизация всего - Нормальный способ создания АПИ, без god-functions a-la FastAPI - async без sync_to_async - Быстро: msgspec для парсинга json (самый быстрый способ в питоне), практически 0 работы в рантайме (все делаем при импорте), оптимизации роутера (быстрее дефолтного в 51 раз) - Пидантик, msgspec, или любой другой способ выражать модели. Хоть adaptix - Полная поддержка всего существующего в Django. От декораторов до миддлварь (с полной валидацией и OpenAPI схемой!) - OpenAPI схема из коробки - Удобное тестирование с polyfactory - property-based тесты вашего АПИ одной командой благодаря schemathesis Что еще будет: - RSGI (да, на #rust скорее всего) под granian, в теории можем побить FastAPI после такого - SSE с автоматической OpenAPI спекой и умной валидацией схемы - JWT или любая другая аутентификация - Какие-то части (скорее всего валидацию) мы компильнем cython, чтобы было еще быстрее Modern? Modern! Осталось дождаться. Релиз скоро! И еще скоро будут несколько новых видео. Мы регулярно постим задачки в @opensource_findings_python, так что можно нам помочь. А если кто хочет мне закинуть на развитие опенсорса (за написание 32500 строк кода за 2 недели), то мой бусти открыт: https://boosty.to/sobolevn Ну и звезды можно ставить, конечно же. Там посмотрите, какие люди нас уже советуют. Большое спасибо Александру, Алексею, Роману, Максиму и всем остальным за неоценимую помощь. Пацаны, без вас никак! Лучшее сообщество! Обсуждение: а чего бы вам хотелось в modern rest фреймворке? Чего сильно не хватает сейчас?
23 · 2.1K ·

Рядом в ленте

DDevBrain🤯 Браузер — кладбище открытых вкладок Миллион открытых табов в браузере, знакомо? У меня до недавнего времени была такая же проблема. Периодически давал себе обDDevBrainDjango 6.0 beta 1 Вышла первая бетка новой мажорной версии Django 6.0: https://www.djangoproject.com/weblog/2025/oct/22/django-60-beta-released/
это сообщение
DDevBrainДоклады DjangoCon US 2025 На официальном Ютуб канале уже доступны видео с прошедшей в этом году конференции DjangoCon US 2025 — плейлист.DDevBrainhttps://learn.microsoft.com/en-us/dotnet/fsharp/whats-new/fsharp-10

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем