【发布时间】:2011-04-18 21:00:33
【问题描述】:
我的 Django 控制器中有一个函数,调用如下:
trip.driverTrip.filter(status='pending')
这相当于在模板中调用 this。如果我只想调用过滤器函数,以下就足够了:
{{trip.driverTrip.filter}}
但是有没有办法传递参数?
【问题讨论】:
我的 Django 控制器中有一个函数,调用如下:
trip.driverTrip.filter(status='pending')
这相当于在模板中调用 this。如果我只想调用过滤器函数,以下就足够了:
{{trip.driverTrip.filter}}
但是有没有办法传递参数?
【问题讨论】:
Django 中没有控制器...你的意思是 a view ;) 吗?
模板中的等价物是:
{{ trip.driverTrip|filter:"pending" }}
但是,要使其正常工作,您的函数 filter 必须注册为模板过滤器,并在模板中“加载”。你不能像这样调用任何函数(或方法)。另外,如果您这样做,假设满足上述条件,则意味着您将trip.driverTrip 作为第一个参数传递给filter,而"pending" 是一个附加参数。
这能回答你的问题吗?
【讨论】:
django template system, calling a function inside a model 解释说,您不能直接执行此操作,但该站点也建议了一种解决方法。
【讨论】: