我需要在我的 Django 1.4 应用程序中记录一些业务事件。例如,当用户发送推荐电子邮件或用户进行购买时。等等。此事件日志将用于某些业务分析。 在电子商务应用程序中这样做有什么最佳实践吗?可能是服务或 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 对象,你可以按日期、用户或任何过滤它们你放在那里的字段。
希望对您有所帮助!
关于python - 在 Django 应用程序中记录事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23902209/