Flask & SQLite 3 CRUD (SQLAlchemy, PipEnv)
HTML-код
- Опубликовано: 6 фев 2025
- En este video voy a enseñarte a utilizar SQLite3 junto con Python y su framework web llamado Flask. Crearemos un aplicación web simple que nos permita hacer las operaciones Básicas tambien llamadas CRUD, y estilizaremos otros paquetes como Bootstrap, SqlAlchemy y Pipenv.
CÓDIGO DEL TUTORIAL
github.com/Faz...
CURSO DE WEBPACK
• Webpack 4, Curso Práctico
CURSO DE REACT
• Reactjs, Curso Práctic...
CURSO DE NODEJS
• Nodejs Curso Desde Cer...
CURSO DE EXPRESS
• Expressjs | Nodejs Fra...
CURSO DE GIT
• Git y Github | Curso P...
VISUAL STUDIO CODE
• Visual Studio Code, Ed...
VISITA MI SITIO WEB PARA MAS CURSOS Y CONTENIDO
www.faztweb.com
blog.faztweb.com
FAZT - RUclips:
/ fazttech
TWITTER
/ fazttech
INSTAGRAM
/ fazttech
FACEBOOK
/ fazttech
DISCORD
/ discord
SLACK
join.slack.com...
#python #flask #sqlite3
¡Fenomenal Trabajo!. Siempre que codifico algo tuyo acabo aprendiendo cosas nuevas.
Excelente tutorial, estoy aprendiendo Python y flask y esto me sirvió mucho, hice el mismo ejercicio y me daba errores, pero viendo y corrigiendo llegue hasta el final y lo MAS IMPORTANTE COMPRENDI Y APRENDI TODO.
Muito bom! Seus vídios são ótimos uma boa didática e conteúdo que ajudam a imaginar em projetos reais, sou brasileiro e curto muito seus vídeos mesmo sabemdo só um pouco de espanhol, pois seus vídeus são muito superiores que encontro em Português, parabéns!
La neta hermano gracias , das mejor informacion que los cursos hechos por gringos en UDEMY , mas has salvado dado que en la universidad nos dejaron un proyecto me adelante y lo termine en PHP , pero al ver los maestros que lo termine muy rapido decidieron que lo pasara a flask ,sin siquiera tener clases de ello, gracias a ti espero terminar el proyecto sin problema alguno Gracias Tio Faszt
Funciona al 15 de Diciembre del 2024. Tuve errores con el contexto de flask con el db.create_all() que requiere la versión 3.0 de sqlalchemy, fuera de eso, todo funciona. Me fué util para aprender, muchas gracias.
Excelentes Tutoriales, te agradezco mucho que los coloques de forma gratuita y MUY bien explicado
Me salvaste la nota una hora antes del examen
Tremendo video!! Me abrió completamente la mente.
Gracias!!!!
gracias por el tutorial muy bueno, NOTA: para los que realicen la practica en el futuro y tengan problemas creando la base de datos o la tabla(db.create_all()) puede ser por la version de SQLAlchemy asi que tranten de instalar la misma version que uso fazt en aquella epoca saludos
justo ya no pude crear la tabla
Como siempre excelente, muchas gracias por todos tus tutoriales
Si tienen problemas para crear la tabla prueben esto desde la consola de python:
from app import app, db
app.app_context().push()
db.create_all()
y si luego de esto les aparece el problema e3q8 deben poner el path completo en la URI con doble barra, por ej: sqlite:///C:\\Users\\OneDrive\\Escritorio22\\tutoriales flask\\tuto7\\database\\tasks.db'
Saludos
LOCO TE AMOR ERES UN MAQUINA HAHAHAHA, ya me estaba desesperando :')
Mucas Gracias Nahuel, me solucionaste un problema que arrastro hace una semana y no encontraba como solucionarlo.
Saludos Guillermo
no funciono para nada, llevo horas intentando resolverlo y estoy frustrado. ESTOS SON LOS ERRORES QUE ME SASLEN: "C:\Users\corde\.virtualenvs\Sqlite_Proteus-tsfnxDDs\Lib\site-packages\sqlalchemy\engine\base.py", line 145, in __init__
self._dbapi_connection = engine.raw_connection()
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\corde\.virtualenvs\Sqlite_Proteus-tsfnxDDs\Lib\site-packages\sqlalchemy\engine\base.py", line 3292, in raw_connection
return self.pool.connect()
^^^^^^^^^^^^^^^^^^^
File "C:\Users\corde\.virtualenvs\Sqlite_Proteus-tsfnxDDs\Lib\site-packages\sqlalchemy\pool\base.py", line 452,
in connect
return _ConnectionFairy._checkout(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\corde\.virtualenvs\Sqlite_Proteus-tsfnxDDs\Lib\site-packages\sqlalchemy\pool\base.py", line 1269, in _checkout
fairy = _ConnectionRecord.checkout(pool)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\corde\.virtualenvs\Sqlite_Proteus-tsfnxDDs\Lib\site-packages\sqlalchemy\pool\base.py", line 716,
in checkout
rec = pool._do_get()
^^^^^^^^^^^^^^
File "C:\Users\corde\.virtualenvs\Sqlite_Proteus-tsfnxDDs\Lib\site-packages\sqlalchemy\pool\impl.py", line 169,
in _do_get
with util.safe_reraise():
File "C:\Users\corde\.virtualenvs\Sqlite_Proteus-tsfnxDDs\Lib\site-packages\sqlalchemy\util\langhelpers.py", line 146, in __exit__
raise exc_value.with_traceback(exc_tb)
File "C:\Users\corde\.virtualenvs\Sqlite_Proteus-tsfnxDDs\Lib\site-packages\sqlalchemy\pool\impl.py", line 167,
in _do_get
return self._create_connection()
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\corde\.virtualenvs\Sqlite_Proteus-tsfnxDDs\Lib\site-packages\sqlalchemy\pool\base.py", line 393,
in _create_connection
return _ConnectionRecord(self)
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\corde\.virtualenvs\Sqlite_Proteus-tsfnxDDs\Lib\site-packages\sqlalchemy\pool\base.py", line 678,
in __init__
self.__connect()
File "C:\Users\corde\.virtualenvs\Sqlite_Proteus-tsfnxDDs\Lib\site-packages\sqlalchemy\pool\base.py", line 902,
in __connect
with util.safe_reraise():
File "C:\Users\corde\.virtualenvs\Sqlite_Proteus-tsfnxDDs\Lib\site-packages\sqlalchemy\util\langhelpers.py", line 146, in __exit__
raise exc_value.with_traceback(exc_tb)
File "C:\Users\corde\.virtualenvs\Sqlite_Proteus-tsfnxDDs\Lib\site-packages\sqlalchemy\pool\base.py", line 898,
in __connect
self.dbapi_connection = connection = pool._invoke_creator(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\corde\.virtualenvs\Sqlite_Proteus-tsfnxDDs\Lib\site-packages\sqlalchemy\engine\create.py", line 637, in connect
return dialect.connect(*cargs, **cparams)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\corde\.virtualenvs\Sqlite_Proteus-tsfnxDDs\Lib\site-packages\sqlalchemy\engine\default.py", line
616, in connect
return self.loaded_dbapi.connect(*cargs, **cparams)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sqlite3.OperationalError: unable to open database file
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "", line 1, in
File "C:\Users\corde\.virtualenvs\Sqlite_Proteus-tsfnxDDs\Lib\site-packages\flask_sqlalchemy\extension.py", line 900, in create_all
self._call_for_binds(bind_key, "create_all")
File "C:\Users\corde\.virtualenvs\Sqlite_Proteus-tsfnxDDs\Lib\site-packages\flask_sqlalchemy\extension.py", line 881, in _call_for_binds
getattr(metadata, op_name)(bind=engine)
File "C:\Users\corde\.virtualenvs\Sqlite_Proteus-tsfnxDDs\Lib\site-packages\sqlalchemy\sql\schema.py", line 5828, in create_all
bind._run_ddl_visitor(
File "C:\Users\corde\.virtualenvs\Sqlite_Proteus-tsfnxDDs\Lib\site-packages\sqlalchemy\engine\base.py", line 3242, in _run_ddl_visitor
with self.begin() as conn:
File "C:\Users\corde\AppData\Local\Programs\Python\Python312\Lib\contextlib.py", line 137, in __enter__
return next(self.gen)
^^^^^^^^^^^^^^
File "C:\Users\corde\.virtualenvs\Sqlite_Proteus-tsfnxDDs\Lib\site-packages\sqlalchemy\engine\base.py", line 3232, in begin
with self.connect() as conn:
^^^^^^^^^^^^^^
File "C:\Users\corde\.virtualenvs\Sqlite_Proteus-tsfnxDDs\Lib\site-packages\sqlalchemy\engine\base.py", line 3268, in connect
return self._connection_cls(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\corde\.virtualenvs\Sqlite_Proteus-tsfnxDDs\Lib\site-packages\sqlalchemy\engine\base.py", line 147, in __init__
Connection._handle_dbapi_exception_noconnection(
File "C:\Users\corde\.virtualenvs\Sqlite_Proteus-tsfnxDDs\Lib\site-packages\sqlalchemy\engine\base.py", line 2430, in _handle_dbapi_exception_noconnection
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File "C:\Users\corde\.virtualenvs\Sqlite_Proteus-tsfnxDDs\Lib\site-packages\sqlalchemy\engine\base.py", line 145, in __init__
self._dbapi_connection = engine.raw_connection()
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\corde\.virtualenvs\Sqlite_Proteus-tsfnxDDs\Lib\site-packages\sqlalchemy\engine\base.py", line 3292, in raw_connection
return self.pool.connect()
^^^^^^^^^^^^^^^^^^^
File "C:\Users\corde\.virtualenvs\Sqlite_Proteus-tsfnxDDs\Lib\site-packages\sqlalchemy\pool\base.py", line 452,
in connect
return _ConnectionFairy._checkout(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\corde\.virtualenvs\Sqlite_Proteus-tsfnxDDs\Lib\site-packages\sqlalchemy\pool\base.py", line 1269, in _checkout
fairy = _ConnectionRecord.checkout(pool)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\corde\.virtualenvs\Sqlite_Proteus-tsfnxDDs\Lib\site-packages\sqlalchemy\pool\base.py", line 716,
in checkout
rec = pool._do_get()
^^^^^^^^^^^^^^
File "C:\Users\corde\.virtualenvs\Sqlite_Proteus-tsfnxDDs\Lib\site-packages\sqlalchemy\pool\impl.py", line 169,
in _do_get
with util.safe_reraise():
File "C:\Users\corde\.virtualenvs\Sqlite_Proteus-tsfnxDDs\Lib\site-packages\sqlalchemy\util\langhelpers.py", line 146, in __exit__
raise exc_value.with_traceback(exc_tb)
File "C:\Users\corde\.virtualenvs\Sqlite_Proteus-tsfnxDDs\Lib\site-packages\sqlalchemy\pool\impl.py", line 167,
in _do_get
return self._create_connection()
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\corde\.virtualenvs\Sqlite_Proteus-tsfnxDDs\Lib\site-packages\sqlalchemy\pool\base.py", line 393,
in _create_connection
return _ConnectionRecord(self)
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\corde\.virtualenvs\Sqlite_Proteus-tsfnxDDs\Lib\site-packages\sqlalchemy\pool\base.py", line 678,
in __init__
self.__connect()
File "C:\Users\corde\.virtualenvs\Sqlite_Proteus-tsfnxDDs\Lib\site-packages\sqlalchemy\pool\base.py", line 902,
in __connect
with util.safe_reraise():
File "C:\Users\corde\.virtualenvs\Sqlite_Proteus-tsfnxDDs\Lib\site-packages\sqlalchemy\util\langhelpers.py", line 146, in __exit__
raise exc_value.with_traceback(exc_tb)
File "C:\Users\corde\.virtualenvs\Sqlite_Proteus-tsfnxDDs\Lib\site-packages\sqlalchemy\pool\base.py", line 898,
in __connect
self.dbapi_connection = connection = pool._invoke_creator(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\corde\.virtualenvs\Sqlite_Proteus-tsfnxDDs\Lib\site-packages\sqlalchemy\engine\create.py", line 637, in connect
return dialect.connect(*cargs, **cparams)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\corde\.virtualenvs\Sqlite_Proteus-tsfnxDDs\Lib\site-packages\sqlalchemy\engine\default.py", line
616, in connect
return self.loaded_dbapi.connect(*cargs, **cparams)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Gracias amigo, seria genial ver esa misma app con firestore y react en el fronted. Ojala lo hagas pronto, saludos desde colombia.
Excelente justo lo que esperaba ojala que subas mas videos de python y flask gracias por compartir tu conocimiento! :)
Sos crack! Necesito un video tuyo explicando módulos de python y cómo tener una carpeta routes y otra models, para este mismo proyecto pero así podemos tener todo más ordenado!
Gracias!
Fantástico , super claro ! Muchas gracias ✨!
Genial! Espero sigan los ejemplos con Flask junto a otros módulos. Qué tal el despliegue de un modelo de machine learning con Flask
Espectacular video!;
Saludos hermano gracias estaba esperando tanto esto. Gracias
Genial Video Fazt, muy agradecido, intentare hacer por mi cuenta el botón editar
super amigo explicas muy bien todo no se si puedas hacer un video de como hacer una conexión de flask con flutter ya que los videos que hay sobre estas conexiones son de puros takataka🥲 y a ti si que te comprendo al 100 🙃
Muchísimas gracias.
¡Felicitaciones!
Groso es lo que estaba buscando muchas gracias. Si puedes subir más vídeo tutorial en cómo hacer back-end con python te amare de por vida
Ya tengo varios planeados para esta semana :)
Buenísimo! Podrías hacer un vídeo de como configurar Flask a una arquitectura o patrón de diseño como MVC
siiiiiiiii por favor!
Excelente video muchas gracias Fazt Code, por favor puede subir un video de como subir este tipo de aplicación a Heroku.
Replicado y todo ok! gracias fazt
Gracias por este gran aporte amigo
Sou do Brasil. Ótimos Videos Parabéns pelo Conteúdo - Gostaria de vê video sobre SSR (nextjs)
Gracias Fazt excelente video
Eres una piola bro! Gracias, buen vídeo!
Muchas gracias por el videoooo
buen video Fazt
Excelente!! Muchas gracias
Muchas gracias por este video, me sirvió bastante.
UN CRACK
Gracias!
Buenas, excelente tu aporte, estoy incursionando en esto de python y flask, mi inquietud es como defino un campo fecha? como lo almacena en la base de datos (sqlite) y en el momento de solicitarlo, en el form se puede indicar un formato ej. dd/mm/yyyy y que lo almacene yyyymmdd? tambien se le puede pasar como default el día actual? Muchas Gracias!!!
Dios mío fazt, aún no entiendo cómo haces para aprender tanto de desarrollo web. Y yo hasta ahora estoy con css.😟😟
Es extraterrestre... Lo sospecho desde hace tiempo.
Una vez entendiendo las bases y aprender los respectivos framework, se te hará mas facil aprender lo demas
@@carlodanielpimenttel2233 👉✍️
Es cuestión de tiempo bro, no creas que lo aprendío de la noche a la mañana, todos los lenguajes de programación tienen una base en común, de ahí que cuando llegas a un punto en el cual te sientes cómodo con un lenguaje de programación, no es tan dificil aprender otros, claro aunque cada uno tiene distinta curva de aprendizaje
@@aldocaamal7740 gracias men ✍️👉
Hola fazt !, queria consultarte si pudiese unir esta tecnologia con Angular para la parte del cliente? como tendria que hacer con los puertos ya que veo que aca usas uno distinto al de angular. Que podria hacer?
buenardo
parce muchas gracias, si es posible me puedes compartir un ejemplo profesional del tema porfavor
Amigo podrias hacer un tutorial de Flask-Migrate
Y cómo se puede modificar una tarea? Estaría bien poder ver eso
El comando pipenv shell no me crea el archivo dentro de la carpeta
estoy atorado a la hora de hacer lo de from app import db, me sale esto: Traceback (most recent call last):
File "", line 1, in
File "D:\proyectos python VS\fazt_code_crud_flask\app.py", line 1, in
from flask import Flask, render_template
ModuleNotFoundError: No module named 'flask'
no tengo idea que tenga que ver y por mas que le muevo no agarra, y incluso luego copie todo el codigo de github y nada
claro amigo de seguro activaste el entorno virtual por eso cuando creas un entorno vitual tienes que volver a instalar con pip todas las dependencias que necesites, en este caso tienes que instalar con pip estando dentro de tu entorno virtual flask , eso sucede con cualquier modulo que no encuentra el interprete de python fijate el error que te da (ModuleNotFoundError: No module named 'flask') Suerte...
o tambien es porque cuando intentaste ejecutar esta sentencia desde el interprete (from app import db) no estabas dentro del entorno virtual
@@willydavid_ wow vaya, intentaré ver si es eso después, muy probablemente tengas razón, no sabes cuanto aprecio que te hayas tomado la molestia de responderme, muchas gracias :)
Estaba estancado ahi tambien y es por los permisos para los scripts pero se soluciona con este comando en terminal " Set-ExecutionPolicy RemoteSigned" usar el terminal en modo administrador. haces los cambios y luego si deseas lo restauras no hay riesgo.
@@cristhian6166 yo quede en la db.create_all() me arroja el siguiente error: Traceback (most recent call last):
File "", line 1, in
File "/home/cristian/.local/share/virtualenvs/AppTareas-lpcGouCh/lib/python3.7/site-packages/flask_sqlalchemy/__init__.py", line 1033, in create_all
self._execute_for_all_tables(app, bind, 'create_all')
File "/home/cristian/.local/share/virtualenvs/AppTareas-lpcGouCh/lib/python3.7/site-packages/flask_sqlalchemy/__init__.py", line 1025, in _execute_for_all_tables
op(bind=self.get_engine(app, bind), **extra)
File "/home/cristian/.local/share/virtualenvs/AppTareas-lpcGouCh/lib/python3.7/site-packages/flask_sqlalchemy/__init__.py", line 956, in get_engine
return connector.get_engine()
File "/home/cristian/.local/share/virtualenvs/AppTareas-lpcGouCh/lib/python3.7/site-packages/flask_sqlalchemy/__init__.py", line 561, in get_engine
self._engine = rv = self._sa.create_engine(sa_url, options)
File "/home/cristian/.local/share/virtualenvs/AppTareas-lpcGouCh/lib/python3.7/site-packages/flask_sqlalchemy/__init__.py", line 966, in create_engine
return sqlalchemy.create_engine(sa_url, **engine_opts)
File "/home/cristian/.local/share/virtualenvs/AppTareas-lpcGouCh/lib/python3.7/site-packages/sqlalchemy/engine/__init__.py", line 479, in create_engine
return strategy.create(*args, **kwargs)
File "/home/cristian/.local/share/virtualenvs/AppTareas-lpcGouCh/lib/python3.7/site-packages/sqlalchemy/engine/strategies.py", line 61, in create
entrypoint = u._get_entrypoint()
File "/home/cristian/.local/share/virtualenvs/AppTareas-lpcGouCh/lib/python3.7/site-packages/sqlalchemy/engine/url.py", line 172, in _get_entrypoint
cls = registry.load(name)
File "/home/cristian/.local/share/virtualenvs/AppTareas-lpcGouCh/lib/python3.7/site-packages/sqlalchemy/util/langhelpers.py", line 240, in load
"Can't load plugin: %s:%s" % (self.group, name)
sqlalchemy.exc.NoSuchModuleError: Can't load plugin: sqlalchemy.dialects:sqlite3
hola, dime como hago para para que me pinte el contenido en la linea
{{task.content}}
Cuando hago click dos o tres veces en el botón de "Save" se me genera más de un registro ¿Saben cómo podría evitar que esto pasara? O bien si tienen algún video sobre esta situación me lo podrían pasar plss
AttributeError: module 'werkzeug.wrappers.request' has no attribute 'form' tengo este error por si acaso sabes como lo puedo resolver?
A mi me sale "from flask_sqlalchemy import SQLAlchemy
ModuleNotFoundError: No module named 'flask_sqlalchemy'"
Alguien q me ayude con un trabajo para la universidad no me hace la conexion con http no me sale donde esta ejecutando mi proyecto
😮😍
Hola, el link de invitación a Discord no es válido; hay alguna solución?
y la base de datos? no esta en git
Ayudaaaaaaa
No se conecta mi plantilla de CSS con mi HTML
Hola, ojala alguien responda, yo tuve un problema al importar db "from app import db", tuve que definir un id=1 para que pueda seguir con el tutorial, como se haría para autocompletarlo?
Justo ahora estoy enfrentando ese problema al importar db, me exige un valor para el done, no reconoce la declaracion de db.Boolean
Podrías subir el archivo de la base de datos al repositorio?
me quede sqlite3 .db , no sql para trabajar
Flask tiene demanda en el mercado?
la verdad no! lo que tiene mas demanda actualmente es JavaScript y php
@@willydavid_ en si el lenguaje es el que tiene mas demanda.
Esa versión no es compatible con heroku.
Amigo me puedes ayudar a implementar sweetalert con flask espero me colabores gracias bro soy seguidor buenos videos
Alguien sabe como se le da guardar al codigo
Ya lo logre es con la funcion auto save es decir con control s
Add search functionality
Muy buenos videos, solo tienes que tomar unas clases de ingles.
a alguien mas le paso esto?:
sqlalchemy.exc.ArgumentError: Mapper mapped class Task->task could not assemble any primary key colum
ns for mapped table 'task'
la verdad io no entiendos
PS C:\Users\welcome\Desktop\flask-sqlite3-crud-master> pipenv shell
Advertencia: no se encontró Python 3.6 en su sistema...
No se pudo encontrar ni 'pyenv' ni 'asdf' para instalar Python.
Puede especificar versiones específicas de Python con:
$ pipenv --python ruta\a\python
PD C:\Usuarios\bienvenido\Escritorio\flask-sqlite3-crud-master>
Todo bien pero la publicidad del principio una mierda, más de 3 minutos para ver tu video? estaba suscrito pero mejor ya no
Gracias amigo, seria genial ver esa misma app con firestore y react en el fronted. Ojala lo hagas pronto, saludos desde colombia.