使用从python函数中提取信息到模板

时间:2012-10-15 17:46:08

标签: python django-models django-templates

我正确显示了事件对象。但我似乎无法从python函数中获取结果并将其放入模板中。

例如,这是我的活动模型。

class Event(models.Model):
    created = models.DateTimeField(auto_now_add=True)
    modified = models.DateTimeField(auto_now=True)
    name = models.CharField(max_length=200)
    location = models.CharField(max_length=200)
    students = models.ManyToManyField(StudentProfile, null=True, blank=True)
    managers = models.ManyToManyField(ManagerProfile, null=True, blank=True)

    def __unicode__(self):
        return self.name

    def attendees(self):
        return len(self.students.count + self.managers.count)

我可以成功地将所有内容都拉到我的模板中,除了与会者......例如在搜索环境中,我将事件作为结果传递...

{{ result.name }}很好地传递到我的模板中,{{ result.location }}也是如此。

{{ result.attendees|length }}不会显示。

知道为什么会这样吗?非常感谢帮助。

1 个答案:

答案 0 :(得分:2)

您需要使用{{ result.attendees }}(否|length)。

length过滤器适用于列表和其他迭代。你在那里做的是类似于应用len(len(something)),这显然是错误的。