我有一个实用程序函数,它解释对象中的分数并返回一个字符串。我想显示它为每个对象计算的字符串。如何将其添加到模板中?
views.py
def foo(bar):
if bar.score >= 42:
return "Oh yes!"
else:
return "Nooo!"
def home(request):
bars = Bar.objects.all()
# Do something with foo() and all the bars for our template to use?
return render_to_response("home.html",
locals(),
context_instance=RequestContext(request))
如何从foo(bar)
访问home.html
?
Muchas gracias。
答案 0 :(得分:1)
在这种情况下,您只需向模型添加属性即可在模板中调用。自定义模板标签可能有点过分,因为只需利用该模型就可以用更少的代码完成相同的结果:
class Bar(models.Model):
score = models.PositiveIntegerField(default=0)
@property
def foo(self):
if self.score >= 42:
return "Oh yes!"
return "Nooo!"