在Django应用程序中记录事件

2024-09-30 22:17:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要在django1.4应用程序中记录一些业务事件。例如,当用户发送refferal电子邮件或用户进行购买时。等等。此事件日志将用于某些业务分析。 在电子商务应用程序中,有没有什么最佳实践?模块可以是django服务还是django服务?我以前从未开发过这样的系统,我需要一些建议。在


Tags: 模块django用户应用程序电子邮件系统记录事件
2条回答

我知道,在一些电子商务网站上,我通常会使用另一个电子商务模式,比如说:

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对象,您可以根据日期、用户或您在其中输入的任何字段对其进行筛选。在

希望有帮助!在

有一个内置的日志应用程序。检查1.4文档:https://docs.djangoproject.com/en/1.4/topics/logging/

相关问题 更多 >