【问题标题】:Display profile image in nav bar在导航栏中显示个人资料图像
【发布时间】:2019-11-18 10:21:09
【问题描述】:

我正在建立自己的博客网站。

我设法让用户上传他们自己的个人资料图片并将其显示在他们的帖子旁边,但现在我希望在导航栏中显示相同的图片作为个人资料图片,但是当我这样做时,我这样做了与它不起作用的帖子看起来像这样。

对于帖子,我制作了个人资料图像模型并从 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 文件似乎无法访问该变量?

我做错了什么?

【问题讨论】:

  • 在你的太阳穴上试试这个“{{ user.image.url }}”作为导航栏
  • 感谢您的回复,但没有这样做。还是同样的问题。

标签: html css django python-3.x bootstrap-4


【解决方案1】:

试试这个:

<img class="rounded-circle article-img" src="{{ request.user.profile.image.url }}" id="img"> 

【讨论】:

  • 太好了,看来tp已经做到了!非常感谢!!!为什么这必须与邮政编码不同?我想从这次经历中学习。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-25
  • 1970-01-01
相关资源
最近更新 更多