Genera especificaciones Swagger/OpenAPI 2.0 reales y documentación interactiva a partir de APIs de Django REST Framework.
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
Instala django-ninja con pip
pip install django-ninja - 2
Crea un archivo api.py junto a urls.py con una instancia de NinjaAPI y un endpoint
- 3
Añade api.urls a urlpatterns en urls.py
- 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
Genera documentación OpenAPI 3 y páginas de Swagger UI o Scalar para aplicaciones Spring Boot al inspeccionar los controladores en tiempo de ejecución.
Un framework web de Python para crear APIs con anotaciones de tipos estándar, validación automática, documentación OpenAPI y alto rendimiento.
Plugin de protoc que genera un servidor proxy inverso para traducir llamadas HTTP RESTful con JSON en solicitudes gRPC para servicios Go.
Biblioteca Java que genera especificaciones OpenAPI a partir de anotaciones del código y API REST de JAX-RS, con compatibilidad con OpenAPI 3.x.
Un framework web ASGI flexible para Python con el que crear API, con validación de datos, inyección de dependencias, generación de OpenAPI e integración con ORM.