在 Django 模板中,我有一个 pinterest 样式的提要,每个块的底部都有一个头像图片。
我正在使用以下模板标签来显示头像图片:
{% avatar user 40 %}
def avatar(user, size=80):
if not isinstance(user, User):
try:
user = User.objects.get(username=user)
alt = unicode(user)
url = avatar_url(user, size)
except User.DoesNotExist:
url = AVATAR_DEFAULT_URL
alt = _("Default Avatar")
else:
alt = unicode(user)
url = avatar_url(user, size)
picpath= """<img src="%s" alt="%s" width="%s" height="%s" />""" % (url, alt,
size, size)
return picpath
问题是这个模板标签每次都会调用数据库来提取头像图片的路径。
基本上我想要做的只是使这个调用所需的最少次数(即提取当前视图中的唯一用户并且只获取这些图片一次)
有没有办法在模板中做到这一点?或者我是否必须基本上改变我的观点才能做到这一点?