Создаёт спецификации Swagger/OpenAPI 2.0 и интерактивную документацию по API на Django REST Framework.
vitalik/django-ninja
Веб-фреймворк на Python для создания REST API с типами Python поверх Django, автоматической документацией OpenAPI и валидацией Pydantic.
Open source альтернатива:Django REST Framework
- Звёзды
- 9,237
- Форки
- 627
- Открытые issues
- 158
- Последний коммит
- 17 часов назад
Что это?
Django Ninja — веб-фреймворк для создания API с Django и аннотациями типов Python. Эндпоинты — это обычные функции Python, к которым применяются декораторы маршрутов, например @api.get. Параметры запросов валидируются с помощью Pydantic и преобразуются в типы, указанные в аннотациях.
На основе этих аннотаций типов фреймворк генерирует схему OpenAPI и интерактивную документацию Swagger UI или Redoc по адресу /api/docs. Поддерживаются асинхронные представления, а сам фреймворк интегрируется с ядром Django и ORM.
Проект предназначен для разработчиков, которые уже используют Django и хотят более лаконичную альтернативу Django REST Framework, где API описывается с помощью аннотаций типов.
Ключевые возможности
- 01Определение эндпоинтов в виде функций Python с аннотациями типов
- 02Валидация параметров запросов и приведение типов с помощью Pydantic
- 03Автоматическая генерация схемы OpenAPI и документации Swagger UI и Redoc
- 04Поддержка асинхронных представлений
- 05Интеграция с ядром Django и ORM
Сценарии использования
- Добавление JSON API в существующий проект Django
- Создание типизированного серверного сервиса с автоматически генерируемой документацией API
- Предоставление доступа к моделям Django ORM через REST-эндпоинты
Быстрый старт
- 1
Установите django-ninja с помощью pip
pip install django-ninja - 2
Создайте файл api.py рядом с urls.py, добавив в него экземпляр NinjaAPI и endpoint
- 3
Добавьте api.urls в urlpatterns в urls.py
- 4
Откройте интерактивную документацию по адресу http://127.0.0.1:8000/api/docs
В подборках
Темы
Частые вопросы
- Что такое django-ninja?
- Веб-фреймворк на Python для создания REST API с типами Python поверх Django, автоматической документацией OpenAPI и валидацией Pydantic. Django Ninja — веб-фреймворк для создания API с Django и аннотациями типов Python. Эндпоинты — это обычные функции Python, к которым применяются декораторы маршрутов, например @api.get. Параметры запросов валидируются с помощью Pydantic и преобразуются в типы, указанные в аннотациях.
- django-ninja можно использовать бесплатно? Какая у него лицензия?
- django-ninja распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- django-ninja всё ещё поддерживается?
- Активно поддерживается. Последний коммит в django-ninja — 6 нояб. 2026 г..
- Для чего можно использовать django-ninja?
- Добавление JSON API в существующий проект Django Создание типизированного серверного сервиса с автоматически генерируемой документацией API Предоставление доступа к моделям Django ORM через REST-эндпоинты
- Как установить django-ninja?
- Установите django-ninja с помощью pip: pip install django-ninja Создайте файл api.py рядом с urls.py, добавив в него экземпляр NinjaAPI и endpoint Добавьте api.urls в urlpatterns в urls.py Откройте интерактивную документацию по адресу http://127.0.0.1:8000/api/docs
- Где скачать django-ninja?
- Исходный код и инструкции по установке — на GitHub: https://github.com/vitalik/django-ninja
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Создаёт документацию OpenAPI 3 и страницы Swagger UI или Scalar для приложений Spring Boot, анализируя контроллеры во время выполнения.
Python-фреймворк для создания API со стандартными аннотациями типов, автоматической валидацией, документацией OpenAPI и высокой производительностью.
Плагин protoc, который генерирует сервер обратного прокси, преобразующий RESTful HTTP-запросы с JSON в gRPC-запросы для сервисов на Go.
Java-библиотека, которая генерирует спецификации OpenAPI по аннотациям кода и REST API на JAX-RS и поддерживает OpenAPI 3.x.
Гибкий ASGI-фреймворк для Python, предназначенный для создания API и включающий валидацию данных, внедрение зависимостей, генерацию OpenAPI и интеграцию с ORM.