Django ImageField не отображается при <img>теге HTML - PullRequest
0 голосов
/ 04 сентября 2018
 # 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 отображает правильный путь к файлу

Что я делаю не так? Я пытаюсь добиться того, чтобы пользователь нажимал кнопку «ПОКАЗАТЬ ФОТОГРАФИИ» на странице, содержащей информацию о конкретном участнике группы

(сайт / band_member / member_id здесь), загружается еще одна страница (site / band_member / member_id / photos), отображающая все фотографии текущего участника.

NEW TO DJANGO !!! Спасибо ! извините за мой "плохой английский" язык :)

1 Ответ

0 голосов
/ 04 сентября 2018

HTML внутри цикла не является правильным. Попробуйте исправить это так.

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