代码之家  ›  专栏  ›  技术社区  ›  Nicu Surdu Robert Laverty

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

  •  0
  • Nicu Surdu Robert Laverty  · 技术社区  · 14 年前

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

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

    它相当于在模板中调用它。如果我只想调用filter函数,下面就足够了:

    {{trip.driverTrip.filter}}
    

    但是有没有一种方法来传递它的论点呢?

    2 回复  |  直到 14 年前
        1
  •  3
  •   sebpiq    14 年前

    Django没有控制器…你是说 a view ?)

    模板中的等效项为:

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

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

    这能回答你的问题吗?

        2
  •  0
  •   Community    7 年前

    django template system, calling a function inside a model 解释说,你不能直接做,但该网站也建议一个变通方案。