2013-06-18 6 views
6

Vorrei registrare le azioni dell'utente ogni volta che l'utente esegue l'accesso/uscita e aggiunge, modifica ed elimina gli oggetti nei modelli del mio sito nel pallone. Qual è il modo migliore per farlo? Vorrei anche mostrare i vecchi dati e i nuovi dati modificati, cosa che avviene usando wtfforms. Sto usando flask e Flask-SQLAlchemy. Voglio qualcosa di simile a ciò che offre il framework Django nel link 'Storia' per gli oggetti associati.Qual è il modo migliore per registrare le azioni dell'utente nelle viste del pallone?

risposta

6

Utilizzare i segnali. Date un'occhiata a questo

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

Usando segnali, è possibile tenere traccia di tutte le azioni, come aggiunge/modifiche ecc, se necessario. Tutto quello che dovete fare è

from blinker import Namespace 
my_signals = Namespace() 

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

Ci scusiamo per il ritardo. Anche in questo caso non è diverso dall'aggiunta di una piccola funzione con parametri da chiamare nelle diverse viste. Qual è il vantaggio dell'uso di questi segnali rispetto alla chiamata di funzione utilizzando le variabili di sessione? Potete per favore mostrare un esempio di codice corto per aggiungere un oggetto in un modello usando il segnale in una vista del pallone eccetto quello menzionato nei documenti. – user956424

2

è possibile fare riferimento a flask-login, anche utilizzando i segnali.