【问题标题】:Django ImageField not render at <img> tag HTMLDjango ImageField 不呈现在 <img> 标签 HTML
【发布时间】:2019-02-09 21:48:46
【问题描述】:
 # models.py
from django.db import models
from . import constants

class Photos(models.Model):
    band_member = models.ForeignKey(BandMember,on_delete=models.CASCADE)
    photo = models.ImageField(upload_to='media/')
    photo_description = models.TextField(max_length=400)

class Photos(models.Model):
    band_member = models.ForeignKey(BandMember,on_delete=models.CASCADE)
    photo = models.ImageField(upload_to='media/')
    photo_description = models.TextField(max_length=400)

    @property
    def photo_url(self):
        if self.photo and hasattr(self.photo, 'url'):
            return self.photo.url
#  views.py
def member_photos(request,member_id):
    current_member = BandMember.objects.get(pk=member_id)
    photos = current_member.photos_set.all()
    context = {
        'all_photos': photos,
        'current_member': current_member,
              }
    return render(request,'band_members/member_photos.html', context)

html 文件:

{% if all_photos %}
   {% for foto in all_photos %}
        <img class"" src="{{ foto.photo_url }}"  
        alt = {{foto.photo_url }}">
        <h5>{{ foto.photo_description }}</h5>
   {% endfor %}

虽然没有显示图片,但alt显示文件的正确路径

我做错了什么? 我想要实现的是,当用户在包含特定乐队成员信息的页面上单击“显示照片”按钮时

(site/band_member/member_id here ),另一个页面加载 (site/band_member/member_id/photos) ,显示当前成员的所有照片。

DJ 新手! 谢谢 ! 对不起我的“英语不好”:)

【问题讨论】:

  • 在 HTML 文件的最后一个 sn-p 中,您在“class”之后缺少一个等号,在“alt =”中的等号之后缺少一个双引号。我并不是说这是问题所在,但您可能需要检查您的 html 文件。无论如何,检查该文件后,在浏览器中加载页面并查看页面的源代码。 img src 应该在哪里?任何事物?错误信息?
  • 你能把你说的路径贴出来吗?
  • 你在class""中缺少一个“=”
  • 它显示的路径是“媒体/图片1.jpg”。当我在控制台打印照片变​​量时,它返回一个查询集列表..

标签: html django jinja2 href imagefield


【解决方案1】:

循环内的 html 不正确。尝试像这样修复它。

 <img src="{{ foto.photo_url }}" alt ="{{foto.photo_url }}">
 <h5>{{ foto.photo_description }}</h5>

【讨论】:

    猜你喜欢
    • 2016-08-19
    • 1970-01-01
    • 2015-01-27
    • 2016-04-03
    • 2014-10-14
    • 2017-01-07
    • 1970-01-01
    • 1970-01-01
    • 2017-12-06
    相关资源
    最近更新 更多