FastAPI REST API CRUD
ฝัง
- เผยแพร่เมื่อ 5 ก.ย. 2024
- En este ejemplo Práctico, aprenderemos a crear una REST API que haga las operaciones CRUD (Create, Read, Update, Delete) usando FastAPI, un framework de Python para la creación de aplicaciones web Backend.
Código del Ejemplo:
github.com/Faz...
Videos Recomendados:
Curso de Python ➜ • Curso Python para Prin...
Conda (Anaconda Python) ➜ • Anaconda - Python Pack...
PipEnv ➜ • Pipenv | Entornos virt...
Flask & React ➜ • Python Flask, React Ho...
👨💻 ¿Qué servicios utilizo?
Kite ➞ bit.ly/3dPzXHe
Tabnine ➞ bit.ly/3wrmtKi
SiteGround ➞ bit.ly/31u9ZEk
DigitalOcean ➞ m.do.co/c/8ef2...
Expo ➞ bit.ly/2WpYKtx
NordVPN ➞ bit.ly/2Te7p0J
Cloudinary ➞ bit.ly/3ohNlJ7
Namecheap ➞ namecheap.pxf.io/ErDe9
Hostinger ➞ www.hostg.xyz/...
🌐 Redes:
Fazt Web ➞ www.faztweb.com/
Facebook ➞ / fazttech
Instagram ➞ / fazttech
Twitter ➞ / fazttech
Telegram ➞ t.me/fazttech
Twitch ➞ / fazttech
Slack ➞ bit.ly/3dPqCPT
Discord ➞ / discord
Blog ➞ blog.faztweb.com
📩 Contacto:
➞ fazt@faztweb.com
#python #fastapi #restapi - วิทยาศาสตร์และเทคโนโลยี
Para los que no les deja utilizar el método post.dict(), utilicen post.model_dump() ya que post.dict() quedó obsoleto. Gracias por el video Fazt!
Si por x motivo tienen problemas con la terminal de vscode y en lugar de bash o cmd les aparece como powershell. Tienen que ir a "preferences" y "settings". En el buscador escriben "Terminal Integrated Default Profile Windows" y en la primera opción si ven que lo tienen como powershell, lo cambian por "Command Prompt". Cierran el proyecto y reinician vscode.
Hago este aporte porque al seguir el tutorial, por alguna razón el powershell no me permite ejecutar conda.
Los que le salga problema del 422 aunque lo tenga exactamente igual, se debe a que ahora tienes que definir Optional como None, id: Optional[str] = None y published_at : Optional[datetime] = None
Es increíble lo que he aprendido con tus vídeos , te sigo hace un par de años y no dejo de hacerlo pues mejoro como profesional con cada uno de ellos , gracias por este tutorial . La consulta es: ¿ como hace para aprender tantas tecnologías al mismo tiempo?
yo pienso que depende de tu nivel de interés en la materia, mientras más involucrado esté en tu vida, mayor conocimiento tendrás
Estaba esperando está maravillosa clase 👽
Ah vueltoooo! Fazt ah vuelto
A quienes les sale un error usando Optional al momento de hacer el post coloquen "= None" al final de cada Optional, puede ser por la version de Python 🤔. Esto permite que se hagan posts normalmente
29:00 para los que tuvieron problemas en ese minuto finalmente di con la solucion , quizas en la version del profesor ermitira agregar el objeto (diccionario) como se lo permitia a el pero en versiones nuevas no y es que el esquema pide si o si datos y hay que especificar en case de que no, adjunto mi solución:
from fastapi import FastAPI
from pydantic import BaseModel #Modelo inicial, como van a lucir nuestros datos
from typing import Text, Optional
from datetime import datetime
from fastapi import HTTPException, status
from fastapi.encoders import jsonable_encoder
from uuid import uuid4 as uuid
app = FastAPI()
posts = []
# Post Model
class Post(BaseModel):
id: Optional[str] = None
title: str
author: str
content: Text
created_at: datetime = datetime.now()
published_at: Optional[datetime] = None
published: bool = False
@app.get('/')
def read_root():
return { "welcome":"welcome to my REST API" }
@app.get('/posts')
def get_posts():
return posts
@app.post('/posts')
def save_post(post : Post):
post.id = str(uuid())
post_dict = jsonable_encoder(post)
posts.append(post_dict)
return "recibido"
Fantástico video desde el segundo cero hasta el fin, muchas gracias! Aprendí bastantes más cosas nuevas de las que me imaginaba. Nuevo suscriptor! 🖖
50 min y ya comente !! son las 4:10 am 24/07/2021 argentina xd
xD Gracias por el apoyo Gus. Exitos!
Muchas gracias Fazt , por tu contenido. Siempre muy claro, directo y efectivo. 👍 En verdad gracias a tu contenido he aprendido muchas cosas y creo que puedo volver a tener futuro en la carrera de desarrollo de software 👍
Excelente contenido broth, preciso y claro. Gracias por compartir tus conocimientos 😎
Gracias por la explicacion!!!
Buen video man, mejor que muchos cursos pagos
Excelente tutorial, espero la parte 2, saludos
Sin desperdicios !!! sos un crack!!!
genial Fazt, muchas gracias!
muchas gracias Fazt un buen inicio con fastAPI
Gracias por esto, es justo lo que estaba buscando para aprender python, excelente contenido...
Muy buen video! tenia que aprender fatsAPI y tu tutorial me ha sido de gran ayuda!
Muchas gracias, Fazt por tan excelente video! Me gustaría preguntarte qué podría usar para desplegar modelos de machine learning, por lo que mencionaste Heroku creo que no podría servirme, te agradecería mucho si pudieras recomendarme algo. Gracias nuevamente!
Muy buen tutorial, felicitaciones, clarisimo todo
Hola video terminado-....heroku ya quito el metodo gratis o bueno de mi parte no lo encontre lo subire a github.. Gracias
Otro nivel estos tutoriales!
Fazt usando Fast
Muy bueno! Muchas gracias por compartir
Hola Fazt como estas? Crees que es mejor Fast API + React + MongoDB que la tech MERN?
te quiero mucho fazt
Gracias Fazt!!!!
Muchas gracias por esto, increible
FAZT muy buen video, la verdad siempre que busco algo que aprender, siempre estas tu, queria preguntarte, si puedes hacer un video sobre como hacer un CRUD con relaciones N:N con fastapi, o si ya hiciste un video que hables de ello, la verdad me ayudarias bastante, si cuentas con alguna comunidad de Fast API que me pueda ayudar, gracias de antemano, muy buenos videos
Excelente contenido!
Hola fazt muy buena explicación, consulta este framework tiene autenticación? 🇨🇴🇨🇴👍👍
Me sirvió muchisimo gracias :3
Excelente. Graciasss
Y este proyecto se podría deploy en serverless? Como a un lambda? O se tendría que desarrollar para lambda específicamente?
gracias bro, me re ayudo
Buenas Fazt, como haces para recargar la consola? Yo le pico ctrl + c y vuelvo a ejecutar uvicorn app:app
Buenísimo video. Solo me surgió una duda, de cusndo a aqui Python declara variables como si fuera Kotlin? Ej: variable:int
python siempre lo ha hecho así, solo que no es muy común, pues python lo hace de manera automática
eres un capo papa
primer comentario jajaja, genial buen video como siempre grande Fazt
Excelente el video, pero me queda una duda.
En el update, en lugar de hacer cada propiedad (por ej posts[index]["title"] = updatedPost.title y asi con todas) no se puede y es conveniente hacer directo posts[index] = updatedPost?
si se hace asi se estaria actualizando tanto el id como la fecha de creacion
Volvió
Hola,
Al 2022 que framework me recomiendas usar en el ecosistema Python..... Django, Flask o FastApi ??
🤔🤔🤔🤔
Saludos
Personalmente te diría Django, fast api y luego flask
@@FaztCode muchas gracias 👍
Cómo hago para que cuando esté en el localhost del navegador se me vean los datos igual de organizados como en el min 36:51
Pasa que me aparece la lista de los post pero en una línea
Buenísimo vídeo. Podrías decirnos cuál es el theme que usas en VS Code?
X2
Para Heroku me está pidiendo agregar un método de pago, tú cómo le hiciste para que no te cobrara?
Cuando grabe el video era gratuito ahora ya es de pago otra opción para desplegar proyectos de Python gratis puede ser render.com
@@FaztCodemuchas gracias!
Se podria anadir el uuid al modelo?
Como puedo hacer el metodo PUT (editar) pero ya con una base de datos?
Buenas horas para subir video :D
xD igual muchos programadores duermen tarde :P
Es una buena hora para programar.
@@alejandrootero5989 aqui son la 2:24am jsjsjs
@@manuelcobasguerra5688 También vivo en Venezuela.
@@FaztCode xd, gracias por el contenido :D
Hola nesecito ayuda con el error 422 lo tengo igual que vos y no me deja hacer el post
Hola Fazt, primero que nada gran video !.. una consulta rapida, en mac os al crear el ambiente virtual me lo instala con la version de python 3.9.6 mientras que mi version del sistema es 2.7.16, la cuestion es que estando en vscode, en la terminal integrada al hacer el "python --version" me muestra la 2.7.16 cuando en teoria deberia ser la otra, ¿Sabes a que se podria deber eso? , es simple pero quisiera saber a que se debe !... gracias de antemano !
Dentro de las opciones de Visual Studio Code debes elegir aquella que dice elegir interprete; ahí seleccionar la que aparece con la opción venv (virtual envirements o entorno virtual) para que así te cargué la versión que descargaste con pip o pip3. Espero esto te ha ayudado
por un momento pensé que habías creado tu propio framework con mujerzuelas y juegos de azar(comentario de Bender en Futurama XD)
Primer comentario
Saludos Fazt gracias por tanto
@@luisfelipe-pt5ts rayos casi te gano jajja
FastAPI es un fw creado por talento latino
toppppppppppppppppppppppppppppp
Sexto Comentario :D
Excelente :D
-fazt ¿por que usas tab de 8 espacios?
-mis motivaciones van mas allá de tu entendimiento
jajaj
I have some dout could you help me
Muy buen video!
Quise subir una app de reconocimiento facial pero en el repositorio de git me apareció "Method not allowed" y en el link de heroku me apareció "Internal Server Error" :( no sé qué hice mal
en heroku para poder ver los errores de consola puedes escribir el comando:
heroku logs --tail
devcenter.heroku.com/articles/logging
o que error obtienes al momento de desplegar? 🤔
Disculpa ,Que tema usas para vscode?
Este tema se llama Dobri Next
@@FaztCode genial!! Gracias
me trabe en la parte 29:00 me sigue saliendo error 422 help me
Amigo mio , pude resolverlo, espero llegar a tiempo con la respuesta, la deje como comentario , de todos modos te envio el código:
from fastapi import FastAPI
from pydantic import BaseModel #Modelo inicial, como van a lucir nuestros datos
from typing import Text, Optional
from datetime import datetime
from fastapi import HTTPException, status
from fastapi.encoders import jsonable_encoder
from uuid import uuid4 as uuid
app = FastAPI()
posts = []
# Post Model
class Post(BaseModel):
id: Optional[str] = None
title: str
author: str
content: Text
created_at: datetime = datetime.now()
published_at: Optional[datetime] = None
published: bool = False
@app.get('/')
def read_root():
return { "welcome":"welcome to my REST API" }
@app.get('/posts')
def get_posts():
return posts
@app.post('/posts')
def save_post(post : Post):
post.id = str(uuid())
post_dict = jsonable_encoder(post)
posts.append(post_dict)
return "recibido"
Sube una SLOW API
FastAPI, el framework Python de creación de API creado por Fazt.
....... perdido ............ reaparesiste .......
He estado haciendo streams de hecho todo los dias en Twitch ;)
pero ya estoy devuelta en TH-cam con más contenido
Hola buen tutorial, pero tengo un error al momento de ejecutar "git push heroku main" aparece esto:
ERROR: Could not install packages due to an OSError: [Errno 2] No such file or directory: '/C:/Windows/TEMP/abs_e9b7158a-aa56-4a5b-87b6-c00d295b01fanefpc8_o/croots/recipe/certifi_1655968940823/work/certifi'
Alguna solución o recomendación..
Gracias!