🧴 FLASK - REST API Simple con Python [ con SQLite y SQLAlchemy ]

Sdílet
Vložit
  • čas přidán 25. 07. 2024
  • ¿Quieres crear una API REST usando Flask y Python? ¡Pues entra para aquí que yo te enseño! En este vídeo del curso de Python crearemos una aplicación web para consultar estadísticas de streamers.
    👉🏻 Usaremos el framework web flask de python para crear nuestro backend. Además, crearemos una base de datos de tipo SQL utilizando SQLite3, que rellenaremos usando datos de Streamers.
    ✋ ¡Alto! ¿Has llegado hasta aquí? Pues menudo Titán. Coméntame "Terodáctil" para que yo sepa que te has leído la descripción.
    👉🏻 Para conectar flask a la base de datos utilizaremos el módulo SQLAlchemy, que nos permite trabajar con la base de datos en forma de Objetos de Python, lo cual resulta muy útil.
    👉🏻 De momento, leeremos datos de la base de datos y los mandaremos al cliente en formato JSON. Más adelante veremos algunas aplicaciones de este proceso.
    ✋ ¿Qué aprenderás? A crear una API REST utilizando python y flask. A crear una base de datos con SQLite3, añadir datos y leerlos. A conectarte a la base de datos utilizando Python y SQLAlchemy.
    🎬 TIMESTAMPS:
    00:00 - Explicación del proyecto de Python Flask.
    01:37 - Instalación de librerías y estructura de ficheros.
    02:55 - Instalación de Flask y SQLAlchemy
    04:40 - Creación de la tabla de Streamers con SQLite3
    06:47 - Añadimos datos a la tabla.
    10:36 - Creación de la app de Flask
    15:45 - Creación de la primera ruta de Flask
    19:21 - Creamos el Modelo de Streamer con SQLAlchemy
    27:12 - Leer todas las filas de una tabla con SQLAlchemy
    33:34 - Método _str_ de la clase Streamer
    39:30 - Serialización de datos.
    41:25 - Ruta para devolver un JSON con todos los Streamers (jsonify)
    52:20 - Buscar Streamer por nombre
    53:08 - Enviar variables por URL
    55:30 - Filtrar por nombre.
    01:01:25 - Filtrar por múltiples valores con SQLAlchemy
  • Věda a technologie

Komentáře • 40

  • @Dimasmas
    @Dimasmas  Před 2 lety +4

    👉🏻 Segunda parte ya disponible: czcams.com/video/ziMTDdG0zOA/video.html
    👉🏻 ¿Quieres aprender SQLite3? czcams.com/video/uB0928SOTEQ/video.html
    👉🏻 La playlist del CURSO: czcams.com/play/PLVs9JdE6ZZh112EBnYa_wCxYpbVXEXrLF.html
    👉🏻 Código: github.com/dimas-avila/streamersAPI
    👉🏻 Comando para instalar librerías: pip install Flask Flask-SQLAlchemy

  • @IanJowe
    @IanJowe Před 2 lety +8

    El error del min 31:05 era ["SQLALCHEMY_DATABASE_URI"] la URI del final la tenias puesta como URL. Muy buen video, grande

    • @andresfelipegalviscubillos9927
      @andresfelipegalviscubillos9927 Před 2 lety

      Yo tuve el mismo error pero en vez de salirme no such tables me esta saliendo no such columns, quede rapadísimo con esa parte y esta es la hora que no le he encontrado solución

    • @Dimasmas
      @Dimasmas  Před 2 lety

      Ciertooo muchísimas gracias

  • @dayanaromerosoto1426
    @dayanaromerosoto1426 Před 3 měsíci

    Para los que tiene problemas con el slash o le toma la ruta por alguna razón una solución es esta: import os
    file_path = os.path.abspath(os.getcwd())+"\manga.db"
    app.config["SQLALCHEMY_DATABASE_URI"] = 'sqlite:///'+file_path Gracias por el tutorial Dimas

  • @buenogranados
    @buenogranados Před 2 lety +1

    Poco a poco pero no falto a tus clases, gracias por tus videos

    • @Dimasmas
      @Dimasmas  Před 2 lety

      Con paciencia, la clave es intentar ser constante!

  • @helenavallesteixido3966
    @helenavallesteixido3966 Před 2 lety +3

    Molt bon vídeo, molt útil!!!

    • @Dimasmas
      @Dimasmas  Před 2 lety

      Moltes gràcies Heleen 😊

  • @gonza9277
    @gonza9277 Před 2 lety +3

    Epico 🙌 no entiendo como no tenes 1 millon de seguidores aun.. Me hizo mucha gracia que te hayas olvidado las diapo, un crack total! Muchas gracias por compartir los conocimientos! 😊

    • @Dimasmas
      @Dimasmas  Před 2 lety +1

      Muchas gracias por tu comentario Jefe! 1 Millón? Dios te escuche jajajaja. De momento si llegamos a mil yo ya soy feliz 🙌

    • @gonza9277
      @gonza9277 Před 2 lety

      @@Dimasmas Bueno una meta a corta distancia, muchisima suerte!! Excelente todo el contenido!
      PD: El error en el minuto 28:15 no fue la ruta, fue que donde pusimos URL va URI
      ["SQLALCHEMY_DATABASE_URI"]

  • @alfredomarcelo5326
    @alfredomarcelo5326 Před 2 lety +3

    Excelente video bro, muchas gracias por el contenido, me ha ayudado bastante. :)

    • @Dimasmas
      @Dimasmas  Před 2 lety

      Muchas gracias a ti por verlo!

  • @IvanHernandez-xw5du
    @IvanHernandez-xw5du Před 2 lety +3

    :) bro, estoy cursando desarollo web , por no querer aprender php me avente a flask para el back y tu video me ayudo un monton !

    • @Dimasmas
      @Dimasmas  Před 2 lety

      Te entiendo en lo de no querer aprender php ajajaja, yo lo tuve que usar alguna vez para WordPress y no me convence mucho.
      Me alegra que te haya ayudado! Esta semana habrá segunda parte, para recoger datos de formularios y algunas formas de filtrar datos sql más elaboradas.

  • @fgrey_
    @fgrey_ Před 2 lety +2

    Yeeeei Dimas! Ha quedado buenísimo el video, aunque ha faltado el café, yo personalmente, tengo un juguito Boing. Qué genial que ya empecemos a trabajar con API's jeje, yo hice un pequeño ejercicio con una API del clima pero lo borré porque quería hacerlo más bonito y terminé arruinándolo JAJAJA. Sigue así Dimas, a pesar de que parecemos pocos, somos fieles a tus contenidos. Y, oye, qué te ha pasado, de verdad se ve que estás muy estresado porque estos últimos videos se te ve el ánimo como si se lo hubiera tragado un Dementor jeje, espero que todo esté yendo bien! SALUDOSSS!!!

    • @Dimasmas
      @Dimasmas  Před 2 lety +3

      Buenas Fernando! Es verdad, en este vídeo me faltó café jajajaja. Creo que sé cual es la API que comentas, en algún momento trabajaremos con APIs de terceros, igual le podemos echar un ojo.
      Me ha hecho mucha gracia lo del dementor jajaajaja, razón no te falta. Ahora que he empezado el máster y sigo trabajando, tengo que grabar los vídeos en los pocos ratos libres que tengo, y a veces no me queda mucha energía 😔. Os pido disculpas, intentaré estar más activo en los siguientes.
      Y es verdad, poco a poco va surgiendo una pequeña comunidad, os estoy muy agradecido! A ver si en 2022 llegamos a ser 1000, sería genial!

  •  Před 2 lety +1

    gracias Terodáctil

  • @alexisaltamirano3461
    @alexisaltamirano3461 Před rokem

    Excelente contenido.
    Tengo una consulta. Hace muy poquito estoy aprendiendo a usar SQLAlchemy, y he estado usando reflexion a partir del metodo MetaData(). Es posible hacer lo mismo de esta manera?
    Saludos!

  • @alvarocastillo8361
    @alvarocastillo8361 Před 5 měsíci +1

    Bastante buenos tus tutorialles, necesito de los seguidores o del tutor saber si hace desarrollos privados para un emprendimiento que tiene como objetivo construir 5 apps en timpo record (tipo micro servicios)

    • @Dimasmas
      @Dimasmas  Před 5 měsíci

      Me puedes escribir a lokixin@gmail.com y explicarme con más detalles qué necesitas

  • @nadaamialrededor
    @nadaamialrededor Před 2 měsíci

    Hola Dimas!
    Al ejecutar el /api/streamers me salta este error sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) unable to open database file.
    Estoy atascadísima con eso, sabes a qué se debe? He intentado hacer mil cosas para solucionarlo.
    Merci!

  • @danielbayerriortega6388
    @danielbayerriortega6388 Před 2 lety +1

    Terodáctil

  • @ismaeldelpozoocana2523
    @ismaeldelpozoocana2523 Před 6 měsíci

    Buenas, me podrías decir tu correo para ponerme en contacto contigo? He intentado hacer lo del vídeo pero no he conseguido que funione. Gracias de antemano

  • @SonidosYresistores
    @SonidosYresistores Před 2 lety +1

    Estimado Dimas, intentado en el terminal me ligo con lo siguiente: "pip install flask-sqlalchemy"
    con el anterior comando: "pip3 install Flask Flask-SQLAlchemmy", no se pudo.
    gracias por tu atención amigo Dimas.

    • @Dimasmas
      @Dimasmas  Před 2 lety

      Entonces todo solucionado verdad? Me alegro!

  • @eleuteriocortes8384
    @eleuteriocortes8384 Před rokem

    me creo un archivo DB_PATH y no me crea el de streamers.db

  • @calceta888
    @calceta888 Před 2 lety

    Me parecia que El error del min 30:30 era porque no habias puesto db.create_all() en el main

  • @SonidosYresistores
    @SonidosYresistores Před 2 lety

    Buen dia Dimas y seguidores de este canal, por favor alguien podria echarme una ayuda con los siguientes errores:
    ERROR: Could not find a version that satisfies the requirement Flask-SQLAlchemmy (from versions: none)
    ERROR: No matching distribution found for Flask-SQLAlchemmy
    me salieron al ejecutar: "pip install Flask Flask-SQLAlchemmy"
    ya actualice mi python: python.exe -m pip install --upgrade pip
    llevo buen rato buscando pero no encuentro respuestas que me ayuden, de antemano mil gracias compañeros.

    • @Dimasmas
      @Dimasmas  Před 2 lety +1

      Hola miguel, estás usando Windows u otro sistema operativo? Puedes ejecutar los comandos:
      py --version
      pip --version
      y decirme que versiones te aparecen? Este error puede venir de algún conflicto entre python 3.x y python 2.7

    • @SonidosYresistores
      @SonidosYresistores Před 2 lety

      @@Dimasmas disculpa amigo Dimas, omití la versión de mi Windows:
      "Win10 pro 64bits esp."
      lo ejecuto en una maquina virtual (VBOX)
      ****************************************************
      Resultado de las consultas:
      py --version :
      Python 3.10.2
      pip --version:
      pip 22.0.3 from C:\Users\migue\AppData\Local\Programs\Python\Python310\lib\site-packages\pip (python 3.10)
      version IDE:
      Versión: 1.64.2 (user setup)
      Commit: f80445acd5a3dadef24aa209168452a3d97cc326
      Fecha: 2022-02-09T22:02:28.252Z
      Electrón: 13.5.2
      Chromium: 91.0.4472.164
      Node.js: 14.16.0
      V8: 9.1.269.39-electron.0
      OS: Windows_NT x64 10.0.19044

    • @SonidosYresistores
      @SonidosYresistores Před 2 lety

      @@Dimasmas amigo, hace como 1 mes "arme" una pc virtual de prueba-desarrollo(VBox) Win10 pro de 32 bits esp.
      Instale el VSCode y todo bien con los paquetes no tenia conflictos, desgraciadamente le asigne solo 20Gb, cree otra con Win64 con 150Gb de disco virtual.
      instale VSC y me encontraba repasando este video, puesto que ya había terminado de seguir casi todos, y me salto ese error :(

    • @SonidosYresistores
      @SonidosYresistores Před 2 lety

      @@Dimasmas se le puede hacer un "Downgrade" al python? (...algún conflicto entre python 3.x y python 2.7)

    • @Dimasmas
      @Dimasmas  Před 2 lety +1

      ​@@SonidosYresistores Las versiones son correctas, no deberían ser la causa del problema. Si estás usando windows (aunque sea una máquina virtual), puedes probar los siguientes comandos,
      py -m pip install Flask-SQLAlchemy
      pip install Flask
      Vamos a ver si es un problema general o solo con la librería de flask-sqlalchemy.

  • @leonardopisano9575
    @leonardopisano9575 Před rokem

    Estimado: la barra normal la conocemos como "slash" ("/") y la que usa Güindous en el path ("\") es "backslash", horrorosa herencia de D.O.S. Las palabrotas que me vi obligado a usar las he modificado un poco, por los niños.