Consideraciones: Uso los comandos python3
y pip3
por que es como lo tengo configurado en mi sistema. Cada uno tendrá que saber cuál utilizar (python vs. python3 / pip vs. pip3) según el entorno de cada uno.
Clonar el repositorio
git clone git@github.com:yepes/pia-lara.git
Dentro del directorio del repositorio, crear el entorno virtual:
python3 -m venv venv
Y activar el entorno virtual (aquí ya cada uno según windows, linux o Mac tendrá que seguir el procedimiento que se explicó en clase)
Nota: El directorio venv está puesto en el gitignore para que no se suba al repositorio. Si lo llamáis de otra forma, agregadlo al gitignore
Instalamos los requerimientos
pip3 install -r requirements.txt
Ejecutamos
flask --app pialara --debug run
El código principal de la aplicación está en el directorio pialara.
En el directorio blueprints se van a agrupar las funcionalidades para tenerlo todo separado. Por ejemplo, auth tendrá su blueprint, syllabus (frases) tendrá su blueprint, etc.
Cuando se crea un blueprint, es necesario agregarlo en __init__.py
para que la aplicación lo cargue.
Cada blueprint va a tener asociado un directorio con su mismo nombre dentro del directorio templates que contendrá sus vistas
TDB
TBD descripción TBD conectar con mongo TBD ejemplo
Ejemplo para insertar un documento
u.insert_one({ "nombre": "Test", "email": "test@test.com" })
Ejemplo para insertar multiples documentos
u.insert_many([{ "nombre": "Test", "email": "test2@test2.com" },{ "nombre": "Test", "email": "test3@test3.com" }])
Ejemplo para actualizar un documento
u.update_one({"email":"test3@test3.com"}, { "$set": {"nombre": "Test33"}})
Ejemplo para actualizar un documento y si no existe lo crea
u.update_one({"email":"test3@test3.com"}, { "$set": {"nombre": "Test33"}}, upsert=True)
Ejemplo para actualizar multiples documentos
u.update_many({"nombre": "Test"}, { "$set": {"email":"asddasd@asdads.com"}})
Ejemplo para actualizar multiples documentos y si no existen los crea
u.update_many({"nombre": "Test"}, { "$set": {"email":"asddasd@asdads.com"}}, upsert=True)