首页 > 解决方案 > 如何显示用户网址头像

问题描述

我制作了一个功能,可以在用户创建个人资料时为他们生成头像:

用户/模型.py

def random_image():
    directory = os.path.join(settings.BASE_DIR, 'media')
    files = os.listdir(directory)
    images = [file for file in files if os.path.isfile(os.path.join(directory, file))]
    rand = choice(images)
    return rand


class Profile(models.Model):     
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    avatar_new = models.ImageField (default=random_image)

    def __str__(self):
        return f'{self.user.username} Profile'

我现在如何将此 url img 显示为图片?

标签: django

解决方案


假设您的模板中的用户可用user,您可以像这样显示图像:

<img src="{{ user.profile.avatar_new.url }}" alt="user avatar" />

推荐阅读