def get_primary_avatar(user, size=settings.AVATAR_DEFAULT_SIZE): User = get_user_model() if not isinstance(user, User): try: user = get_user(user) except User.DoesNotExist: return None try: # Order by -primary first; this means if a primary=True avatar exists # it will be first, and then ordered by date uploaded, otherwise a # primary=False avatar will be first. Exactly the fallback behavior we # want. avatar = user.avatar_set.order_by("-primary", "-date_uploaded")[0] except IndexError: avatar = None if avatar: if not avatar.thumbnail_exists(size): avatar.create_thumbnail(size) return avatar
def avatar_img(avatar, size): if not avatar.thumbnail_exists(size): avatar.create_thumbnail(size) return mark_safe('<img src="%s" alt="%s" width="%s" height="%s" />' % (avatar.avatar_url(size), six.text_type(avatar), size, size))
def render_avatar(avatar, size=settings.AVATAR_DEFAULT_SIZE): if not avatar.thumbnail_exists(size): avatar.create_thumbnail(size) return """<img src="%s" alt="%s" width="%s" height="%s" />""" % ( avatar.avatar_url(size), six.text_type(avatar), size, size)