在django app中跟踪和显示用户当前活动

时间:2014-06-15 22:46:54

标签: django action news-feed

我的应用 :我在django中创建了一个小型博客应用。每个博客都具有以下属性。 1)标题2)正文3)图像4)upvote / downvote按钮5)率6)评论

任何已登录的用户都可以对特定博客进行upvote或downvote,对其进行评分,给出1-5之间的数字或对该博客发表评论。

我的问题 :现在我想显示用户在博客上执行的活动。我想在不同的网页上显示它/ recent_actions

如果用户x(比如说)赞成博客y(比如说),那么页面/ recent_actions应该更新。页面的最新内容应该像"用户x upvoted blog y 2分钟前&#34 ; 总之,我想为我的博客应用创建一个新闻源。

我的想法:我正在考虑创建一个活动类来跟踪特定领域的变化(比如博客模型中的喜欢)

这里的任何人都有详细的解释,我是在考虑它还是其他更好的方法。

1 个答案:

答案 0 :(得分:0)

我认为你的方式是正确的。

在我的项目中,我写了一个抽象的Event类,以及基于这个类的其他几个类。

类似于:

class Event(models.Model):
    is_cancelled = models.BooleanField(default=False)
    created = models.DateTimeField(blank=True, null=True)

    class Meta:
        abstract = True

class ScanEvent(Event):
    # fields/methods related to scan actions only


class ReadEvent(Event):
    # fields/methods related to read actions only

class ...

由于Event类是抽象的,因此在DB中没有创建表,但是我在Django中保持DRY,因为我没有多次写is_cancelled个属性。 它对我来说就像一个魅力。

我不知道Aamir Adnan提出的django活动流。我可以好好看看。也许这对你的需求来说太过分了,也许这正是你所需要的:)