【问题标题】:How to log django app to database如何将 django 应用程序记录到数据库
【发布时间】:2012-08-16 09:52:37
【问题描述】:

我只想问如何在 django 中记录我的应用程序发生的所有事情。我没有使用 django 管理员。相反,我创建了一个用于登录的应用程序和一个用于我的博客、评论、喜欢/不喜欢的应用程序。我如何记录所有这些,例如该用户在我的网站上登录的次数以及他/她停留的时间。她/他评论或喜欢多少次。这可能吗?

【问题讨论】:

  • 你试过什么?例如。你用谷歌搜索“django logging”还是“django logging database”?

标签: python database django logging


【解决方案1】:

您在这里提出了几个不同的问题。

用户登录的次数

最简单的方法是在模型中有一个字段:

login_count = models.PositiveIntegerField(default=0, editable=False)

然后捕获login signal 并增加该字段。

他/她待了多少小时

这很难做到。你可以赶上logout signal,但这不是你知道人们离开的唯一方式。也许你可以使用一些花哨的 javascript 来测试它。

您还可以监控每个用户的每次点击并使用它。如果你真的想衡量这个,我会使用 Google Analytics 或其他现有的基于 javascript 的分析引擎。

他们评论/点赞的次数

这很简单:

class Post(models.Model):
    # ...
    liked_by = models.ManyToManyField(User)

number_of_posts_liked_by_user = Post.objects.filter(liked_by__id=user_id).count()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-16
    • 2021-01-06
    • 2012-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多