Django 如何显示用户url头像

Django 如何显示用户url头像,django,Django,我制作了一个功能,在用户创建个人资料时为他们生成化身: users/models.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

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

users/models.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显示为图片?

假设您的模板中有可用的用户作为
用户,您可以如下所示显示图像:

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


你想在模板上显示它吗属性是
url
,因此
user.profile.avatar\u new.url
谢谢,它似乎可以工作!但我有这样一个问题。我正在使用django avatar库,有这样一个设置:DEFAULT_URL=(media/DEFAULT.jpg),我不想显示静态图像,而是为默认用户显示新的avatar_。我怎样才能做到这一点?在不知道库的情况下,您也许可以检查url属性是否已设置,并根据该属性显示化身。可能是这样的:
问题是django avatar将media/defalut.jpg分配给所有新用户。我希望users.avatar\u默认情况下显示新的化身,但我不知道如何做到这一点(即使我这样说,我也希望将一个化身从avatar\u新字段分配给化身(用户)字段。如果您有时间,我可以显示django avatar添加avatar功能。您还可以检查url中是否有
default.jpg
,然后显示其他内容。检查字符串中的事件与Python中的情况相同,但这里有一个链接: