Repolode
vitalik

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. 1

    Установите django-ninja с помощью pip

    pip install django-ninja
  2. 2

    Создайте файл api.py рядом с urls.py, добавив в него экземпляр NinjaAPI и endpoint

  3. 3

    Добавьте api.urls в urlpatterns в urls.py

  4. 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 обновляется ежедневно.

Похожие проекты

Python-фреймворк для создания API со стандартными аннотациями типов, автоматической валидацией, документацией OpenAPI и высокой производительностью.

104,5 тыс.+191 за неделю10,2 тыс.PythonMITОбновлён 21 час назад

Гибкий ASGI-фреймворк для Python, предназначенный для создания API и включающий валидацию данных, внедрение зависимостей, генерацию OpenAPI и интеграцию с ORM.

8,5 тыс.+3 за неделю683PythonMITОбновлён 20 часов назад