wtf example python flask flask-login

python - example - login flask



Flask-Login aumenta TypeError: el objeto ''bool'' no es invocable al intentar anular la propiedad is_active (2)

Sobrecarga is_active para implementar su propia lógica.

¿Qué tiene de malo? Nada de la OMI. Es correcto, excepto que olvidó convertirlo en una propiedad utilizando @property decorator

En Tornado es similar a current_user por ejemplo.

Quiero modificar is_active en Flask-Login para que los usuarios no siempre estén activos.

El valor predeterminado siempre devuelve True , pero lo cambié para devolver el valor de la columna banned .

Según los documentos, is_active debería ser una propiedad. Sin embargo, el código interno de Flask-Login aumenta:

TypeError: ''bool'' object is not callable

Al intentar usar is_active .

¿Cómo uso correctamente is_active para desactivar algunos usuarios?

class User(UserMixin, db.Model): id = db.Column(db.Integer, primary_key=True) banned = db.Column(db.Boolean, default=False) @property def is_active(self): return self.banned

login_user(user, form.remember_me.data) if not force and not user.is_active(): TypeError: ''bool'' object is not callable


is_active , is_anonymous , y is_authenticated son todas propiedades a partir de Flask-Login 0.3. Si desea usarlos, trátelos como atributos, no los llame. Si desea anularlos, recuerde decorarlos con @property .

# change from current_user.is_authenticated() # to current_user.is_authenticated

Parece que está leyendo los documentos de la versión más reciente (0.3), pero está utilizando una versión anterior de la biblioteca. La versión 0.3 contiene un cambio importante que cambió estos atributos de métodos a propiedades. Debe actualizar a la última versión de Flask-Login y tratarlos como propiedades.

Desactiva al usuario haciendo que su propiedad is_active devuelva False . Su idea de devolver el valor de una columna está bien.