Python 在django应用程序中记录事件
我需要在Django 1.4应用程序中记录一些业务事件。例如,当用户发送参考电子邮件或用户进行购买时。等等此事件日志将用于一些业务分析。Python 在django应用程序中记录事件,python,django,Python,Django,我需要在Django 1.4应用程序中记录一些业务事件。例如,当用户发送参考电子邮件或用户进行购买时。等等此事件日志将用于一些业务分析。 在电子商务应用中是否有这样做的最佳实践?可能是服务或django模块?我以前从未开发过这样的系统,我需要一些建议。有一个内置的日志应用程序。查看1.4文档:我知道您正在谈论使用内置的,但为了提供另一个选项,我通常使用模型在某些电子商务页面中存储日志操作,例如: class MyLog(models.Model): LOG_ACTIONS = (
在电子商务应用中是否有这样做的最佳实践?可能是服务或django模块?我以前从未开发过这样的系统,我需要一些建议。有一个内置的日志应用程序。查看1.4文档:我知道您正在谈论使用内置的,但为了提供另一个选项,我通常使用模型在某些电子商务页面中存储日志操作,例如:
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对象,您可以按日期、用户或您放入其中的任何字段对其进行筛选
希望有帮助 是的,我知道。我想还有更具体的应用。您是否曾经使用django logger跟踪用户活动?看起来这是最好的日志记录方法。我想过这样的事情。谢谢不客气!我通常选择此选项,因为我可以自定义我正在处理的项目的登录功能。如何将其连接到视图。假设我从一个视图上传一个文件,它应该被添加到日志中?也许你应该问一个不同的问题,我不确定我是否理解你在寻找什么,你认为作为一个单独的问题问这个会更好吗?如果没有,你可以让我知道如何进行,然后我继续研究。