在 Django 模型中,将参数传递给方法并在代码中使用它很容易。
Class Foo(models.Model):
number = IntegerField()
...
def bar(self, percent):
return self.number * percent
f = Foo(number=250)
f.bar(10)
问题是如何在模板层做到这一点?像这样的东西:
{{ foo.bar(10) }}
最佳答案
简单的回答是你不能这样做,这是设计使然; Django 模板旨在防止您在其中编写真正的代码。相反,您必须 write a custom filter ,例如
@register.filter
def bar(foo, percent):
return foo.bar( float(percent) )
这会让你像 {{ foo|bar:"250"}}
这样调用,它在功能上与你的 {{ foo.酒吧(250)}}
。
关于django - 将参数传递给 Django 模型方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5955027/