Si ha utilizado un dispositivo digital para enviar y recibir información, ha utilizado una API. Los desarrolladores crean API para permitir que los usuarios interactúen con los datos de sus aplicaciones.

Crear una API REST es una forma conveniente de compartir información. Las API REST tienen estándares definidos que regulan el intercambio de datos entre dispositivos. Para comprender cómo funcionan las API REST, puede crear una desde cero.

Puede usar el marco REST de Django para crear una API REST y usarla para mostrar datos de una base de datos.

Usando Django con una API REST

Puede use una API REST para obtener datos estructurados sobre HTTP. Al igual que muchos lenguajes y marcos, Django te permite crear tu propia API y consumir otras.

También debe tener lo siguiente preinstalado:

  1. La última versión de python.
  2. La última versión de pip.
  3. Pipenv (aunque puedes usar venv en su lugar si quieres).
  4. La última versión de Django.

Una vez que haya instalado todo el software esencial, estará listo para comenzar.

instagram viewer

1. Instalar Django REST Framework

Marco REST de Django es un potente conjunto de herramientas que puede utilizar para crear y configurar API web. Sus funciones personalizables lo convierten en una opción popular para crear API REST.

Puede instalar el marco Django REST con el siguiente comando:

pipenv instalar djangorestframework

2. Crear una aplicación Django

Las siguientes instrucciones explicarán cómo crear una aplicación de alimentos para recopilar nombres y descripciones de alimentos populares de Kenia. La API obtendrá solicitudes de una base de datos para permitir que los usuarios interactúen con esos datos.

Las aplicaciones de Django vienen equipadas con una base de datos SQLite, por lo que no tiene que instalar otra base de datos.

Para crear una aplicación Django, primero crea un proyecto llamado alimento con el siguiente comando:

django-admin startproject comida 

A continuación, cree una aplicación de Django llamadacomida keniana:

django-admin startapp comida de Kenia

3. Registrar la configuración del proyecto de la aplicación

Registre elcomida kenianaaplicación en la configuración del proyecto en el APLICACIONES INSTALADAS formación. Si omite este paso, Django no reconocerá la aplicación. Además, registre el marco Django REST en la misma configuración:

# Definición de la aplicación

APLICACIONES_INSTALADAS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.archivos estáticos',
'comida keniana',
'rest_framework',
]

4. Registrar URL de aplicaciones

Registro comida keniana URL de la aplicación en el proyecto urls.py archivo como se ilustra a continuación:

de django.contrib importar administración
de django.urls importar camino, incluir

patrones de URL = [
camino('administración/', admin.sitio.urls),
camino('', incluir('kenyanfood.urls')),
]

5. Crear una vista para la API

Cree una vista ficticia en la aplicación vistas.py archivo, para que la aplicación no arroje errores. Primero, importa el Respuesta objeto y@apiview decorador del marco Django REST.

Respuesta ayuda a devolver datos esterilizados en JSON formato mientras el @apiview muestra la API.

de django.atajos importar prestar
de rest_framework.response importar Respuesta
de rest_framework.decoradores importar vista_api

# Crea tus vistas aquí.
@api_view(['CONSEGUIR'])
definitivamenteconseguir comida(pedido):
devolver Respuesta()

6. Crear una ruta URL para la aplicación

Cree una ruta de URL para la vista de API que creó. Este punto final muestra el comida kenianadatos.

de django.urls importar camino
de. importar puntos de vista
de django.conf importar ajustes

patrones de URL = [
camino('', vistas.getFood),
camino('correo/', vistas.postComida),
]

7. Crear un modelo para la aplicación

La clase modelo de la aplicación se llama Alimento. Debe tener un aspecto como este:

de django.db importar modelos

# Crea tus modelos aquí.
claseAlimento(modelos. Modelo):
nombre = modelos. CharField (longitud_máxima=200)
descripción = modelos. CharField (longitud_máxima=500)

Registre el modelo en la aplicación administrador.py archivo como se muestra a continuación:

de django.contrib importar administración
de .modelos importar Alimento

# Registre sus modelos aquí.
administración.sitio.registro(Alimento)

8. Hacer Migraciones

Próximo, emigrar la aplicación para crear tablas en el SQLite base de datos. Puedes hacer esto usando el siguiente comando:

pitónadministrar.pyhacer migracionescomida keniana

A continuación, aplique estas migraciones ejecutando este comando:

pitónadministrar.pyemigrar

Una migración exitosa se verá así:

Las migraciones exitosas significan que la base de datos ha creado tablas para el comida kenianaaplicación.

9. Agregar datos a la base de datos

Utilizar el administrador de Django GUI para ingresar datos en la base de datos. administrador de Django tiene una gran interfaz para visualizar y administrar los datos de su aplicación.

Alternativamente, puede usar el shell de python en la línea de comando para ingresar datos manualmente en la base de datos. En esta guía, utilizará la interfaz de administración de Django.

Use el siguiente comando para configurar el administrador de Django:

pitónadministrar.pycrear superusuario

Cuando se le solicite, ingrese su nombre de usuario, correo electrónico y contraseña. A continuación, puede abrir la página de administración utilizando el siguiente enlace:

http://127.0.0.1:8000/admin/

Verá la página de inicio de sesión:

Una vez que inicie sesión, verá la interfaz de administración de Django con Grupos y Usuarios modelo. Ambos son para la autenticación; el Alimento El modelo está en la sección de abajo.

Puede agregar y eliminar Alimento elementos de la base de datos desde la página de administración. Agregue algunas delicias de Kenia, como Ugali, Pilau y Chai, a la base de datos.

Ahora que la base de datos tiene datos, cree la API

10. Serializar el modelo

Serializadores convertir modelos Django complejos a JSON objetos, haciendo que los datos se lean fácilmente en la API. La serialización hace que los datos sean más legibles en la API.

Cree un nuevo archivo en la aplicación llamado serializador.py

de rest_framework importar serializadores
de .modelos importar Alimento

claseSerializador de Alimentos(serializadores. ModelSerializer):
claseMeta:
modelo=Comida
campos=('nombre','descripción')

importas el serializadores módulo de la rest_framework empaquetar y crear un Serializador de Alimentos clase que hereda de la ModelSerializerModelSerializer clase.

A continuación, especifique el Alimento modelo que desea serializar y los campos que desea agregar a la API.

11. Actualizar la vista

A continuación, actualice la vista de la API con el serializador y Alimento modelos

Primero, defina un CONSEGUIR método para recuperar todos los datos de la base de datos con Alimento. Objetos.todo() función. Luego serialice los datos y los devuelva como respuesta en JSON formato.

de django.atajos importar prestar
de rest_framework.response importar Respuesta
de rest_framework.decoradores importar vista_api
de .modelos importar Alimento
de serializador importar Serializador de Alimentos

# Crea tus vistas aquí.
@api_view(['CONSEGUIR'])
definitivamenteconseguir comida(pedido):
comida = Comida.objetos.todos()
serializador = FoodSerializer (comida, muchos =Verdadero)
devolver Respuesta (serializador.datos)

Luego, navegue hasta el enlace URL del servidor:

https://127.0.0.1:8000/

Verá la API mostrando datos de la base de datos:

¡Felicitaciones, ha creado una API REST!

12. Agregar datos con el método POST

Pruebe si puede usar la API REST para agregar datos a la base de datos.

Primero, defina un CORREO método en la vista.

@api_view(['CORREO'])
definitivamentepostComida(pedido):
serializador = FoodSerializer (data=request.data)
siserializador.es válida():
serializador.ahorrar()
devolver Respuesta (serializador.datos)

Luego, agrega una ruta en la aplicación. urls.py para crear un punto final para la API CORREO funcionalidad.

patrones de URL = [
camino('',vistas.getFood),
camino('correo/',views.postComida),
]

A continuación, navegue a esta URL:

https://127.0.0.1:8000/post

Verás el CORREO punto final Añadir datos a la base de datos en JSON formato en el Contenido sección y haga clic en el CORREO botón. Por ejemplo, agregue un nuevo alimento con esta estructura:

{ "nombre":"maziwa mala", "descripción":"Leche agria" }

Verá los datos mostrados en rojo en JSON formato.

Ahora, si navega de regreso a la CONSEGUIR punto final http://127.0.0.1:8000/, verás la comida'maziwa mala' y su descripción añadida.

Ahora tiene una API REST que puede mostrar y agregar elementos a la aplicación. ¿Qué tal experimentar con otros CRUD ¿métodos? Trabajando con ACTUALIZAR y BORRAR Los métodos aumentarán la funcionalidad de su API REST.

Cómo crear una API REST con Django

Ahora puede crear una API REST usando Django. Primero, cree una aplicación con un modelo, serialice los datos y cree una función de visualización. A continuación, incluya puntos finales de URL para visualizar los datos en formato JSON.

La creación de API REST con el marco Django REST es una forma conveniente de compartir datos y brindar a sus usuarios una excelente experiencia de cliente.