我正在建立自己的博客网站。
我设法让用户上传他们自己的个人资料照片,并将其显示在他们的帖子旁边,但现在我想让相同的图像作为个人资料图像显示在导航栏中,但是当我以相同的方式进行操作时,与帖子不起作用,看起来像这样。
对于帖子,我制作了个人资料图片模型并从html文件中访问了变量,但是相同的方法无法在导航栏中显示该变量。
我在后端使用python和django。
这是我的个人资料图片模型代码:
from django.db import models
from django.contrib.auth.models import User
from PIL import Image
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
image = models.ImageField(default="default.jpg", upload_to="profile_pics")
def __str__(self):
return f"{self.user.username} Profile"
def save(self, *args, **kwargs):
super().save(*args, **kwargs)
img = Image.open(self.image.path)
if img.height > 300 or img.width > 300:
output_size = (300, 300)
img.thumbnail(output_size)
img.save(self.image.path)
这是我在html文件中引用它以便在帖子旁边显示的方式:
<img class="rounded-circle article-img" src="{{ post.author.profile.image.url }}" id="img">
当我使用任何其他图像(来自url或本地文件)时,它都能正常工作,但是当我使用该变量调用图像时,它不起作用
值得一提的是,导航栏和帖子部分位于不同的html文件中。似乎导航栏的html文件无权访问该变量?
我在做什么错了?
答案 0 :(得分:1)
尝试一下:
<img class="rounded-circle article-img" src="{{ request.user.profile.image.url }}" id="img">