A Django app that keeps a log of user actions or changes in objects You can log arbitrary action with user and optional info that goes with your action.
this code forked from django-auditlog and add my new ideas
Add "actionslog" to your INSTALLED_APPS setting like this:
INSTALLED_APPS = [ ... 'actionslog', ]
Run python manage.py migrate to create models.
Set AL_LOG_ACTION_CHOICES in project settings.py file if need customize:
AL_LOG_ACTION_CHOICES = [ (CREATE, _("create")), (SUCCESS, _("success")), (VIEW, _("view")), (UPDATE, _("update")), (DELETE, _("delete")), (ERROR, _("error")), ]
Simple:
status_msg = 'Reset password %s' % ('success' if success else 'error',) la_kwargs = { 'request': request, 'instance': obj, 'user': request.user, 'action_info': {'info': status_msg}, } LogAction.objects.create_log_action(**la_kwargs)
or
status_msg = 'Reset password %s' % ('success' if success else 'error',) la_kwargs = { 'request': request, 'instance': obj, 'user': request.user, 'action': LogAction.SUCCESS if success else LogAction.ERROR, 'changes': status_msg, } LogAction.objects.create_log_action(**la_kwargs)