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

Posted

技术标签:

【中文标题】将命名参数传递给 Django 模板中的函数【英文标题】:Passing named arguments to functions in Django templates 【发布时间】:2011-04-18 21:00:33 【问题描述】:

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

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

这相当于在模板中调用 this。如果我只想调用过滤器函数,以下就足够了:

trip.driverTrip.filter

但是有没有办法传递参数?

【问题讨论】:

【参考方案1】:

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

模板中的等价物是:

 trip.driverTrip|filter:"pending" 

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

这能回答你的问题吗?

【讨论】:

是的,查看,对不起,是的,它确实完美地回答了我的问题:)。谢谢!【参考方案2】:

django template system, calling a function inside a model 解释说,您不能直接执行此操作,但该站点也建议了一种解决方法。

【讨论】:

以上是关于将命名参数传递给 Django 模板中的函数的主要内容,如果未能解决你的问题,请参考以下文章

Django将多个参数传递给If语句中的自定义模板过滤器

使用django模板将参数传递给页面上的Javascript代码?

如何将选定的命名参数传递给 Jinja2 的包含上下文?

如何将三个或多个参数传递给自定义模板标签过滤器 django?

是否可以将查询参数传递给 Django % url % 模板标签?

Django:将参数传递给父模板