Django活动流:'str'对象没有属性'动词'

时间:2012-07-05 12:55:32

标签: python django

我正在尝试使用django活动流构建与like this非常相似的东西,并且诚实地面对很多难以实现它。此外,除了this之外,没有太多的参考文档,但发现很难理解。

假设用户A属于第1组。一旦用户A将值保存到模型,我应该如何使用django活动流将此新闻广播给第1组(用户A除外)和第2组的所有成员。 像团队1中的用户A这样的东西挑战了团队2.主题是“ subject ”,日期为“date_of_test”,总问题为“total_questions”。

更新:

似乎某处我错过了这条线。我已经创建了不同的样本模型来测试它,但它不起作用。

models.py

from django.db import models
from django.db.models.signals import post_save
from actstream import action


class Name(models.Model):
    name = models.CharField(max_length=200)

def my_handler(sender, instance, created, **kwargs):
    action.send(instance, verb='was saved')

post_save.connect(my_handler, sender=Name)

urls.py

from django.conf.urls.defaults import *
from django.views.generic.simple import direct_to_template


urlpatterns = patterns('',
    ('^activity/', include('actstream.urls')),
    (r'^$', direct_to_template, {'template':'base.html'}),
)

现在我想在保存数据后立即在模板上显示操作。

base.html文件

{% load activity_tags %}
<html>
<body>
Hi Sunil
{% display_action action %}
</body>
</html>

但它的给定错误'str'对象没有属性'verb'。我认为问题出在base.html上。

非常感谢你的时间,

苏尼

2 个答案:

答案 0 :(得分:0)

似乎很直接给我。 creating actions上的文档告诉您需要知道的所有内容:

from actstream import action

action.send(request.user, verb='challenged', target=team_one)

其中team_oneTeam或类似模型的实例,具体取决于您的名称。

答案 1 :(得分:0)

我的错误......认为django-activity stream有Comet一种行为来获取数据。阅读this后关闭此问题。