在Django应用中记录事件
我需要在我的Django 1.4应用程序中记录一些业务事件。例如,当用户发送推荐邮件或者用户进行购买时。还有其他类似的事件。这些事件日志将用于一些商业分析。有没有什么好的方法可以在电子商务应用中做到这一点?可能是某种服务或者Django模块?我以前从没开发过这样的系统,需要一些建议。
2 个回答
2
有一个内置的日志记录应用。你可以查看1.4版本的文档,了解更多信息:https://docs.djangoproject.com/en/1.4/topics/logging/
6
我知道你在说使用内置功能,但我想提供另一个选择。我通常会用一个模型来存储一些电商页面的日志记录,比如:
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 对象,你可以根据日期、用户或你放进去的任何字段来筛选。
希望这对你有帮助!