2013-06-18 6 views
6

Ich möchte Benutzeraktionen protokollieren, wann immer sich Benutzer an-/abmeldet und fügt hinzu, bearbeitet, löscht Objekte in meinen Site-Modellen in Kolben. Was ist der beste Weg, dies zu tun? Außerdem möchte ich die alten Daten und die neuen modifizierten Daten zeigen, die mit wtfforms geschehen. Ich benutze Kolben und Flask-SQLAlchemy. Ich möchte etwas ähnliches zu dem, was Django-Framework in der 'History' hlink für die zugehörigen Objekte bietet.Welches ist der beste Weg, um Benutzeraktionen in Flask-Ansichten zu protokollieren?

Antwort

6

Signale verwenden. Werfen Sie einen Blick auf diese

http://flask.pocoo.org/docs/signals/

Unter Verwendung von Signalen, können Sie den Überblick über alle Aktionen halten wie fügt/Bearbeitungen usw. je nach Bedarf. Alles, was Sie tun müssen, ist

from blinker import Namespace 
my_signals = Namespace() 

def add_user(): 
    # add user code here 
    user_added = my_signals.signal('user-added') 
+2

Entschuldigung für Verspätung. Wieder unterscheidet es sich nicht von dem Hinzufügen einer kleinen Funktion mit Parametern, die in den verschiedenen Ansichten aufgerufen werden sollen. Was ist der Vorteil der Verwendung dieser Signale über den Funktionsaufruf über Session-Variablen? Können Sie bitte ein kurzes Codebeispiel zum Hinzufügen eines Objekts in einem Modell anzeigen, das das Signal in einer Kolbenansicht verwendet, außer dem in den Dokumenten erwähnten. – user956424

Verwandte Themen