Está en la página 1de 33

Manual

Como hacer una Api básica con Python


by Diego Alejandro Vanegas Prada
Introducción

El objetivo del presente documento es realizar una guía sencilla sobre cómo hacer una api
rest sencilla con python, Describiendo un paso a paso.

Pre requisitos:
Tener un servidor de base de datos al cual poder conectarse y las correspondientes
credenciales.

Para ejecutar una clase en python se puede ejecutar el comando python .\ClassName.py
en la ruta donde se encuentre el archivo.

Procedimiento:

1- Crear una carpeta donde se va a almacenar la API.

Para este caso se llamó FirstAPIPython


2- Abrimos la carpeta con visual studio code.

3- Abrimos una terminal.


4- Se procede a generar un entorno virtual para instalar todo lo que se requiera, en la
terminal ejecutamos el siguiente comando.

python -m venv env


en ocasiones:
py -m venv env
Se debe visualizar una carpeta env, donde se guardarán las configuraciones.
5- Activar el ambiente se ejecuta el siguiente comando en el terminal.

env\Scripts\activate
(en caso de error, ejecutar Set-ExecutionPolicy Unrestricted -Scope Process)

Esta parte se debe ejecutar cada vez que realice alguna instalación.

6- Se procede a instalar el paquete django con el comando.

pip install Django==3.2.4


La versión puede variar dependiendo de la versión más actual disponible.

7- Con el siguiente comando podemos validar que tenemos instalado actualmente.

pip list

8- Procedemos a crear el proyecto django con el siguiente comando.

django-admin startproject NombreProject

Cambiando NombreProject por el nombre que quiera. Para el ejemplo se usara


miPrimerApi.
9- Nos movemos en la terminal a la ubicación del proyecto con el comando.

cd miPrimerApi

10- Se procede a crear una aplicación en la raíz del proyecto con el siguiente comando.
django-admin startapp nombreAplicacion

Donde puede cambiar nombreAplicacion por el nombre que desee, para el ejemplo
usaremos api.
11- agregamos la nueva aplicación en el archivo
miPrimerApi/settings.py

Como se llamo api, lo agregamos a la variable INSTALLED_APPS de la siguiente manera.


12- Configurar la BD: nos dirigimos al archivo miPrimerApi/settings.py y cambiamos el valor
de la variable DATABASES

El valor que va a contener es:

Colocando los valores que les arroje a cada uno plataformas como heroku, o similares.

Nota: siempre se deja al final una coma en las configuraciones como señal de que se puede
seguir agregando atributos.

13- Se procede a crear el primer modelo, para esto nos dirigimos al archivo models.py de la
aplicación (en este caso llamada api) .
Creamos una clase, quien representará nuestro modelo, para este caso lo llamaremos
compania.

Nota: deben tener cuidado con la identación dentro de un archivo de python y en este caso
la clase esta indicando que es un modelo heredando de models.Model

14- se procede a agregar los atributos que queramos de la compañía.


● con models.CharField indicamos que será un campo que contendrá caracteres.
● con max_length=50 indicamos el número máximo de caracteres.
● con URLField indicamos que el campo será de tipo URL.
● con PositiveIntegerField indicamos que el campo será de tipo integer y positivo.

15- Se procede a registrar el modelo nuevo en el panel de administración provisto por


Django.
16- se procede a instalar los conectores de mysql para poder interactuar con la base de
datos con el siguiente comando en la terminal (teniendo el ambiente activo).

pip install mysqlclient pymysql

verificamos que este instalado el mysqlclient.

17- se instala el módulo psycopg2 con el siguiente comando.


pip install psycopg2-binary

18- Se procede a probar la conexión a la base de datos con el comando.

python manage.py migrate

Estando en la raíz del proyecto.

y en la base de datos se ve de la siguiente manera.


Se crean las tablas por defecto de django.
note: si tiene alguna tabla ya creada en la base de datos, le saldrá un error.

19. Creamos un superusuario para poder acceder al panel de administración de nuestra


aplicación con el siguiente comando.

python manage.py createsuperuser

colocamos el usuario que queramos.


el correo que queramos.

colocamos la contraseña que queramos y le damos y en caso de que salga la advertencia.

20. Creamos la migración de nuestro nuevo modelo con el comando(tienen que estar
ubicados en la aplicacion):

python manage.py makemigrations


nos crea la siguiente migración.

Ahora procedemos a realizar la migración a la base de datos con el siguiente comando:

python manage.py migrate

y e la DB se ve asi.

21- Ahora procedemos a ejecutar el servidor con el siguiente comando.


python manage.py runserver
Ahí vemos la ruta donde se encuentra ejecutándose, si accedemos podremos ver algo
como lo siguiente.

22- accedemos a la ruta /admin


en este caso:
http://127.0.0.1:8000/admin
Ingresamos el usuario y contraseña que colocamos hace un momento.
veremos como poder interactuar con la base de datos a través de la interfaz brindada.

23- le damos click a Companys.

le damos click en add companys e ingresamos los datos que queramos.


le damos en guardar.

y asi nos queda en la base de datos.

VISTA

24- Nos dirigimos al archivo views.py de la aplicación.


25- Creamos la clase que representara nuestra vista.

recordemos que hereda de View para indicar que es una vista.


26- Creamos los métodos que vamos a manejar.
removemos el import del render.
nota: pass es para un corto circuito.

27- Creamos el archivo para colocar las URL de las apis a las que le podremos pegar. Para
esto creamos un archivo llamado urls.py en la raíz de nuestra aplicación.
28- importamos path de django para poder establecer rutas.

Agregamos nuestra nueva clase y la convertimos en una vista.


ahora se establece la URL.

Ahora lo registramos en el archivo urs del proyecto.

debe quedar de la siguiente forma.


28- vamos primero con el método Get de nuestra vista.
Listamos todas las compañías con lo siguiente.

manejamos el tipo de mensaje a retornar.


ahora serializamos a json.

cambiamos la conversión de la lista.


ya podemos acceder a este metodo.
http://127.0.0.1:8000/api/companies/

29- autorizamos que cualquiera pueda hacer las peticiones.


Agregamos un nuevo método.
especificamos la excepción.

30- vamos ahora a crear registros, con POST. recuerde que en el json a enviar debe lucir
así.

importamos json
hacemos la peticion.

verificamos.
En base de datos se ve asi.

31- Obtener una compania en especifico. Para esto se debe agregar la nueva url.

Modificamos el método get, le agregamos un parametro id.

Modificaciones al get.
32- para actualizar un dato, usaremos put,
33- ahora vamos a eliminar elementos con el delete.
Referencias:
https://www.youtube.com/watch?v=hL52_nB5QSw

También podría gustarte