我有我的模型任务
class Task(models.Model):
member = models.ForeignKey(Member)
...
以及我的模特会员,来自认证...
class Member(AbstractBaseUser):
...
def get_num_tasks(self):
return self.task_set.all().count()
最后我有这样的模板,我想显示有多少任务得到了这个成员......但是如果它大于零则再添加一个类......
<p {% if user.get_num_tasks > 0 %} class="green" {% endif %}>{{ user.get_num_tasks }}</p>
这里的问题是,每次加载我的模板时,它会两次点击数据库,一次检查是否大于零,还有一次用于显示数字......
我该如何避免这种情况?
答案 0 :(得分:1)
您可以使用with
tag
{% with task_count=user.get_num_tasks %}
<p {% if task_count > 0 %} class="green" {% endif %}>{{ task_count }}</p>
{% endwith %}
编辑:我必须删除之前和之后的空格 分配(task_count = user.get_num_tasks),否则崩溃。