将命名参数传递给Django模板中的函数

时间:2010-09-29 14:45:12

标签: django django-templates

我在Django控制器中有一个调用如下的函数:

trip.driverTrip.filter(status='pending')

它将等同于在模板中调用它。如果我只想调用过滤器函数,以下就足够了:

{{trip.driverTrip.filter}}

但有没有办法传递它的参数?

2 个答案:

答案 0 :(得分:3)

Django中没有控制器......你的意思是a view;)?

模板中的等价物是:

{{ trip.driverTrip|filter:"pending" }}

但是,为了实现这一点,您的函数filter必须注册为模板过滤器,并在模板中“加载”。你不能只调用这样的任何函数(或方法)。另外,如果您这样做,假设满足前面的条件,则意味着您将trip.driverTrip作为第一个参数传递给filter,而"pending"是另一个参数。

这会回答你的问题吗?

答案 1 :(得分:0)

django template system, calling a function inside a model解释说,你不能直接这样做,但该网站也提出了一种解决方法。