Ich möchte is_active
in Flask-Login ändern, damit Benutzer nicht immer aktiv sind.
Der Standardwert gibt immer True
zurück, aber ich habe ihn geändert, um den Wert der Spalte banned
zurückzugeben.
Basierend auf den Dokumenten sollte is_active
eine Eigenschaft sein. Der interne Flask-Login-Code wirft jedoch Folgendes auf:
Beim Versuch, is_active
zu verwenden.
Wie verwende ich is_active
, um einige Benutzer zu deaktivieren?
is_active
, is_anonymous
und is_authenticated
sind alle Eigenschaften wie bei Flask-Login 0.3. Wenn Sie sie verwenden möchten, behandeln Sie sie als Attribute, rufen Sie sie nicht an. Wenn Sie sie überschreiben möchten, denken Sie daran, sie mit @property
zu dekorieren.
Es scheint, dass Sie die Dokumente für die neueste Version (0.3) lesen, aber eine ältere Version der Bibliothek verwenden. Version 0.3 enthält eine brechende Änderung , die diese Attribute von Methoden in Eigenschaften geändert hat. Sie sollten auf die neueste Version von Flask-Login upgraden und sie als Eigenschaften behandeln.
Sie deaktivieren den Benutzer, indem Sie die Eigenschaft is_active
veranlassen, False
zurückzugeben. Ihre Idee, den Wert einer Spalte zurückzugeben, ist in Ordnung.
Sie überladen is_active
, um Ihre eigene Logik zu implementieren.
Was ist daran falsch? Nichts IMO. Es ist korrekt, außer dass Sie vergessen haben, es mit @property
decorator
In Tornado ist es beispielsweise ähnlich wie current_user
.
Tags und Links python flask flask-login