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
問題は、このテンプレートタグが毎回データベースを呼び出して、アバターの写真へのパスを引き出すことです。
基本的に私がやりたいことは、この呼び出しを必要な最小限の回数だけ行うことです (つまり、現在のビューで一意のユーザーを抽出し、それらの写真を 1 回だけ取得します)。
テンプレートでこれを行う方法はありますか?それとも、これを行うために基本的に私の見方を変える必要がありますか?