我在Django控制器中有一个调用如下的函数:
trip.driverTrip.filter(status='pending')
它将等同于在模板中调用它。如果我只想调用过滤器函数,以下就足够了:
{{trip.driverTrip.filter}}
但有没有办法传递它的参数?
答案 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解释说,你不能直接这样做,但该网站也提出了一种解决方法。