Django模板能够传递参数吗?获得当前用户

时间:2011-01-31 01:10:29

标签: python django django-templates

在我的模板中,我使用模型中的方法如下...

模型的定义如下:

class Category(model.Model):

    title = models.CharField('title', max_length=255)    
    description = models.TextField('description', blank=True)

    def pub_set(self):  
        ...
        return somedata

模板使用如下:

{{ category.pub_set }}

我希望能够在pub_set中获取当前用户

1 个答案:

答案 0 :(得分:1)

我不是100%清楚你在问什么。在Category.pub_set()内部,您是否尝试访问request.user?如果是这样,你不能不幸地做到这一点。可能会有某种黑客行为,但它不是Django推荐的方式。

您可能需要查看模板标记,它们允许您从模板中传递类别和用户,然后执行您需要执行的操作,并返回结果。这是文档的链接。

http://docs.djangoproject.com/en/1.2/howto/custom-template-tags/#passing-template-variables-to-the-tag

另一种方法是在视图中执行您需要执行的操作,然后将结果保存在页面上下文中,它将在模板中可用。

如果我对你要做的事情有了更多了解,可能会更容易引导你朝着正确的方向前进。