python - 在 Django 应用程序中记录事件

标签 python django

我需要在我的 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/

相关文章:

python - Seaborn violinplot 中 HUE 参数的多列

python - Django WSGI 没有名为 'site' 的模块

python - Django 将模型实例传递给略有不同的模型

python - 如何从power bi中的python函数返回单个数据帧

python - 我是一个初学者程序员,我需要查询return语句

python - 当我从 Django 网站使用 PyVirtualDisplay 运行 Selenium 时,为什么会出现 gnome 权限错误?

python - Django“PostgreSQL”添加不可为空的字段

python - 如何将 Graphene GraphQL 框架与 Django REST 框架身份验证一起使用

javascript - 如何在服务器端处理基于 Web 的简单实时聊天的消息?

python - 如何在 python 中对段落进行编码以在 CSV 文件中使用