No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Convierte tus certificados en títulos universitarios en USA

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

19 Días
11 Hrs
39 Min
42 Seg
Curso de Flask

Curso de Flask

Bernardo Cassina

Bernardo Cassina

Autenticación de usuarios: Login

29/36
Recursos

Aportes 40

Preguntas 10

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

buen día , si les da error el código en esta clase , es muy posible y les recomiendo que instalen la misma versión que en su momento era la actual al momento en que lo instalo el profesor, muy posiblemente les de error , así que instalen la siguiente versión , pip install flask-login==0.4.1
esa es la versión que esta usando el profe , saludos.

Para las personas que tengan el siguiente mensaje de error:

Exception: Missing user_loader or request_loader. Refer to enlace for more info.

pueden intentar lo siguiente:

  • En init.py de la app y antes de la función create_app crear la función:
@login_manager.user_loader
def load_user(user_id=''):
    return None

Con esto logre solucionar el error que me marcaba. La información la obtuve de stackoverflow, flask-login:Exception: No user_loader has been installed for this LoginManager. Add one with the ‘LoginManager.user_loader’ decorator

La versión actual de flask-login es 0.5, pero la documentación de la página es valida para la versión 0.4.1 si se tienen errores solo deberán instalar.

pip install flask-login==0.4.1

WTF?!

Y no precisamente What the form… :p

Debo admitir que esta fue la clase más abrumadora y que tuve que regresar al curso de API rest para entender algunos conceptos. Pero está bien. Es necesario

Vengo del futuro!! Sólo quiero decirte que esta clase y la que sigue son las más dificiles, pasando estas dos las demás clases son más entendibles. Animo!!!

Esto no tiene mucho sentido… el usar un nombre de usuario como identificador único limita las posibilidades y hace mas complicadas las cosas y no nos deja a los estudiantes una enseñanza real de como verificar un usuario en una DB.
Me llevo mala experiencia por parte de esta clase.

SI ESTÁN CONFUNDIDOS
Amigos la idea de este breve resumen es que les ayude a entender esta clase que es bastante confusa.
https://drive.google.com/drive/folders/1ICKi5POR7ZAvhlY05j35OrNbjYfQvAQ3?usp=sharing

Espero no confundirlos mas. Saludos.

Hola
Solo para comentar que para que funcione su codigo tienen que escribir todo lo que se deci en la clase para establecer el LoginMAnager correctamente

Mucha informacion…

¿Sabes como reparar este error?
AttributeError: ‘Flask’ object has no attribute ‘login_manager’

Saludo despues de ver este video y otros mas a este profesor del 1 al 10 le doy un -1000000000 …
Como es posible que no se pare poco a poco a explicar , como es posible que uno nuevo no le abrume tanta información después de ver este video si explicar

no entendí nada 😦 aiuda!

Hola.
Tenia un error con el flask_login
la dependencia que me dio error era Werkzeug

pip uninstall Werkzeug
pip install Werkzeug==2.0.3

Espero les sea útil!

Habra muchos errores debido a que la libreria que se usa es vieja, para que funcione con la libreria actual deben poner esto en init.py dentro de app antes de def create_app():

login_manager = LoginManager()
login_manager.login_view = 'auth.LoginPage'

@login_manager.user_loader
def load_user(user_id=''):
    return None

Este curso es malísimo, pésimas prácticas a nivel de desarrollo/estructura de directorios/ seguridad…

que pésima arquitectura de proyecto y código tiene este profe 🤢

Hola chicos, por si alguien vio el método query dentro de UserModel y no supo qué es el static method, vengo a dar una aproximación

@staticmethod
    def query(user_id):
        user_doc = get_user(user_id)
        user_data = UserData(
            username = user_doc.id,
            password = user_doc.to_dict()['password']
        )

        return UserModel(user_data=user_data)

Los métodos estáticos o @staticmethod son métodos que únicamente procesan información o aplican lógica de negocio sin necesidad de interactuar con los elementos de la clase (es decir, sin necesidad de usar atributos u otros métodos dados), por esta razón no se añade el self como argumento. Es una buena práctica añadir el decorador @staticmethod como fuente de seguridad y para entender qué funciones cambian el comportamiento de un objeto y cuales solo procesan o transforman datos.

Missing userloader or request_loader error

from . import login_manager
import firebase_admin
from firebase_admin import credentials
from firebase_admin import firestore


credential = credentials.ApplicationDefault()
firebase_admin.initialize_app(credential)

db = firestore.client()


@login_manager.user_loader
def get_users():
    return db.collection('users').get()

def get_todos(user_id):
    return db.collection('users').document(user_id).collection('todos').get()

Demasiado desorden, debería detenerse a explicar mas a fondo.

Me parece que esta es la clase más confusa en lo que va del curso, se puso a escribir código sin explicar claramente para que era cada cosa que escribía. Creo que tiene muchos huecos esta clase, es mejor leerse la documentación para entender lo que está haciendo.

Flask-Login provee un driver para manejar sesiones de usuarios para flask. maneja tareas de login, logout y recuerda la sesion de usuarios por periodos de tiempo.

Esta clase está mal construida. Me queda claro que el profesor domina todos los conceptos pero la idea es que nosotros los estudiantes lo hagamos también. Antes de irse al código debería de mostrar en un diagrama de flujo todo lo que va a hacer para que sea más entendible.
Tengo este error y no doy con la solución, alguno sabrá donde esta el problema?: ```js ImportError: cannot import name 'url_decode' from 'werkzeug.urls' ```ImportError: cannot import name 'url\_decode' from 'werkzeug.urls'

si a alguien le salió este error ImportError: cannot import name ‘safe_str_cmp’ from 'werkzeug.security’
Lo resolví agregando “Werkzeug~=2.0.0” a requirements.txt
Vuelven a $ pip install -r requirements y listo

Platzi favor actualizar este curso 🤞

Si les sale el siguiente error:
ImportError: cannot import name ‘safe_str_cmp’ from 'werkzeug.security’
Es un bug que apareció con la versión 2.1.0 de Werkzeug. Yo lo solucioné cambiando en venv/lib/python3.8/site-packages/flask_login/utils.py,
safe_str_cmp de werkzeug.security por;
compare_digest de hmac

from hmac import compare_digest

Me perdí mucho en esta clase 😦

En el siguiente enlace podrás encontrar un guia para este tema
https://j2logo.com/tutorial-flask-leccion-4-login/

AYUDA, tengo este error al finalizar la clase y no he visti en los comentarios alguna solución

ImportError: cannot import name 'login_manager' from partially initialized module 'app' (most likely due to a circular import) (/home/juniorpeves/Documentos/Flask1/app/__init__.py)
![](import firebase_admin
from firebase_admin import credentials , firestore , db
 

# credential = credentials.ApplicationDefault()
# firebase_admin.initialize_app(credential)
# db = firestore.client()

firebase_sdk = credentials.Certificate('sssxxxxx.json')
firebase_admin.initialize_app(firebase_sdk,{'databaseURL':'https://xxxxxxx.firebaseio.com/'})
db = firestore.client()


def get_users():
    return db.collection('users').get()


def get_todos(user_id):
    return db.collection('users')\
        .document(user_id)\
        .collection('todos').get())

Justo tenia la duda si existia polimiorfismo en python, que no es el mejor lenguaje para usar POO, la respuesta es si

Por momentos me falla el código pese a que sigo tosas las instrucciones, y no sé por qué falla.
Y otra cosa, creo que falta explicar un poco más de teoría porque algunos puntos quedan al aire y solo me queda imaginarmelas.

Demasiada información en una sola clase, y creo que faltó explicar varios puntos… llegó un momento en el que no entendí nada

me sale este error = TypeError: user_loader() missing 1 required positional argument: ‘callback’

😶

no me esta funcionando el comando para inactivar el entorno virtual!!

source venv/bin/inactivate
estoy en mac. Alguien que le haya pasado lo mismo! que me heche una mano!

UserMixin ya tienes implementaciones de metodos listos

Como usar Flask_login con una bd SQL server, con una conexión por ODBC