Repolode
vitalik

vitalik/django-ninja

Framework web de Python para crear API REST con anotaciones de tipos sobre Django, documentación OpenAPI automática y validación con Pydantic.

Alternativa open source a:Django REST Framework

Estrellas
9,237
Forks
627
Issues abiertos
158
Último commit
hace 23 horas

¿Qué es?

Django Ninja es un framework web para crear API con Django y las anotaciones de tipos de Python. Los endpoints son funciones normales de Python decoradas con rutas como @api.get; Pydantic valida los parámetros de las solicitudes y los convierte a los tipos indicados en las anotaciones.

A partir de estas anotaciones de tipos, el framework genera un esquema OpenAPI y documentación interactiva de Swagger UI o Redoc en /api/docs. Admite vistas asíncronas y se integra con el núcleo y el ORM de Django.

El proyecto está dirigido a desarrolladores que ya usan Django y buscan una alternativa más concisa a Django REST Framework, con la API definida mediante anotaciones de tipos.

Funciones clave

  • 01Definir endpoints como funciones de Python con anotaciones de tipos
  • 02Validar los parámetros de las solicitudes y convertirlos a los tipos indicados mediante Pydantic
  • 03Generación automática del esquema OpenAPI y documentación con Swagger UI y Redoc
  • 04Compatibilidad con vistas asíncronas
  • 05Integración con el núcleo y el ORM de Django

Casos de uso

  • Añadir una API JSON a un proyecto Django existente
  • Crear un servicio backend con tipos que necesite documentación API generada automáticamente
  • Exponer modelos del ORM de Django mediante endpoints REST

Inicio rápido

  1. 1

    Instala django-ninja con pip

    pip install django-ninja
  2. 2

    Crea un archivo api.py junto a urls.py con una instancia de NinjaAPI y un endpoint

  3. 3

    Añade api.urls a urlpatterns en urls.py

  4. 4

    Abre la documentación interactiva en http://127.0.0.1:8000/api/docs

En colecciones

Temas

Preguntas frecuentes

¿Qué es django-ninja?
Framework web de Python para crear API REST con anotaciones de tipos sobre Django, documentación OpenAPI automática y validación con Pydantic. Django Ninja es un framework web para crear API con Django y las anotaciones de tipos de Python. Los endpoints son funciones normales de Python decoradas con rutas como @api.get; Pydantic valida los parámetros de las solicitudes y los convierte a los tipos indicados en las anotaciones.
¿django-ninja es gratuito? ¿Qué licencia tiene?
django-ninja es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿django-ninja sigue mantenido?
Mantenimiento activo. El último commit de django-ninja fue el 6 nov 2026.
¿Para qué puedo usar django-ninja?
Añadir una API JSON a un proyecto Django existente Crear un servicio backend con tipos que necesite documentación API generada automáticamente Exponer modelos del ORM de Django mediante endpoints REST
¿Cómo se instala django-ninja?
Instala django-ninja con pip: pip install django-ninja Crea un archivo api.py junto a urls.py con una instancia de NinjaAPI y un endpoint Añade api.urls a urlpatterns en urls.py Abre la documentación interactiva en http://127.0.0.1:8000/api/docs
¿Dónde consigo django-ninja?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/vitalik/django-ninja

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados