在Django应用程序中记录事件

我需要在Django 1.4应用程序中记录一些业务事件.例如,当用户发送refferal电子邮件或用户进行购买时.等等.此事件日志将用于某些总线性分析.

在电子商务应用中有没有最好的实践?可能是服务还是
django模块?我以前从未开发过这样的系统,我需要一些建议. 最佳答案 我知道你在谈论使用内置功能,但只是为了提供另一种选择,我通常使用模型在一些电子商务页面中存储日志操作,例如:

class MyLog(models.Model):
    LOG_ACTIONS = (
        ('login', 'User logged in'),
        ('delete_object', 'User delete object'),
        ('create_object', 'User create object'),
        ('buy_object', 'User buy object'),
        #   ...     ...     ...
        # Whatever you need here
    )
    user = models.ForeignKey(User)
    action = models.CharField(max_length=20, default='login', choices=LOG_ACTIONS, verbose_name= 'action')
    date = models.DateTimeField(auto_now_add=True, verbose_name='date')

    class Meta:
        ordering = ['-dt']
        verbose_name = 'Action log'
        verbose_name_plural = 'Actions log'

该示例已简化,您可以根据需要使用尽可能多的字段以及根据需要使用多个日志操作.

因此,当您执行必须在日志中的任何操作时,只需为MyLog创建一个对象,当您想要获取所有日志操作时,只需获取MyLog对象,然后您可以按日期,用户或您放置的任何字段过滤它们在那里.

希望能帮助到你!

点赞