django - 如何显示用户网址头像
问题描述
我制作了一个功能,可以在用户创建个人资料时为他们生成头像:
用户/模型.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 显示为图片?
解决方案
假设您的模板中的用户可用user
,您可以像这样显示图像:
<img src="{{ user.profile.avatar_new.url }}" alt="user avatar" />
推荐阅读
- python - 为什么 tempfile 和 os.chdir() 会抛出 RecursionError?
- python-3.x - 检查 Python 列表元素是否在 Pandas 数据框行中
- xml - 传递值并返回 xslt 中的值
- javascript - 在组件重新渲染或页面在反应中刷新后加载相同的配置
- datastax-java-driver - 如何以编程方式在 CqlSessionBuilder 中设置 DcInferringLoadBalancingPolicy
- sql - 在 Codeigniter 中从数据库中的 3 个表中选择数据
- python - 如何迭代字符串的DataFrame并在结果上应用条件
- ios - 如何在 swiftUI 中呈现 crossDissolve 视图?
- python - 相同的 ML 模型在 RTX 2080 上比在 GTX 1060 上消耗更多的 gpu 内存
- flowground - Flowground SFTP 组件的许可证