加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

在Django应用程序中记录事件

发布时间:2020-12-20 11:35:38 所属栏目:Python 来源:网络整理
导读:我需要在Django 1.4应用程序中记录一些业务事件.例如,当用户发送refferal电子邮件或用户进行购买时.等等.此事件日志将用于某些总线性分析. 在电子商务应用中有没有最好的实践?可能是服务还是 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对象,然后您可以按日期,用户或您放置的任何字段过滤它们在那里.

希望能帮助到你!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读