2015-09-19 3 views
1

Я пытаюсь создать сайт галереи, но я не могу найти изображения для отображения в html. Я пытаюсь получить изображения из базы данных на основе filter_type, который имеет значение как изображение.Получить изображение в django

До сих пор у меня есть это:

В views.py

def gallery(request): 
    img = Upload.objects.filter(file_type='image') 
    return render(request,'gallery.html',{"img":img}) 

и html:

{% for n in img %} 
     <img src="{{ n.img}}" /> 
{% endfor %} 

Мой models.py выглядит следующим образом:

class Upload(models.Model): 
    image = models.ImageField(upload_to='media/image',default='') 
    text_field = models.CharField(max_length=200,default='') 
    date_added = models.DateTimeField(auto_now_add=False,auto_now=True) 
    file_type = models.CharField(max_length=256, choices=[('image', 'image'), ('video', 'video'), ('other', 'other')]) 
    class Meta: 
     verbose_name_plural = "Files Manager" 

Я также установил MEDIA_URL и MEDIA_ROOT. Из Admin я могу загружать изображения, и они в порядке.

мой MEDIA_URL:

MEDIA_ROOT = os.path.join(BASE_DIR,'static','media') 

MEDIA_URL = '/media/' 

Когда я осматриваю из HTML src путь пуст.

+0

Вы пробовали ''? Вместо ''. – jlnabais

+0

да еще пуст. Если в проекте больше информации, я могу разместить больше. Он по-прежнему пуст. – Victor

+0

Можете ли вы сделать 'print (img)' (если вы используете python3 или 'print img' для python2) после' img = Upload.objects.filter (file_type = 'image') 'и вставьте сюда то, что вы видите в Журнал консоли django? – jlnabais

ответ

1

Проблема решена.

Основная причина, по которой изображения, которые не отображаются в моем html, были связаны с тем, что путь был неправильным. Я должен был взять это из моего media_url + имя файла, так как media_url не был добавлен, не было никакого пути для отображения правильно. Правильный путь это было:
для VIEWS.py :

def gallery(request): 
    img = Upload.objects.filter(file_type='image') 
    return render(request,'gallery.html',{"img":img, 'media_url':settings.MEDIA_URL}) 

и html:

{% for i in img %} 
       <img src="{{media_url}}{{ i.image }}"> 
{% endfor %} 

Hopefuly это отвечает чей-то вопрос или если не по крайней мере, я могу пойти сейчас :) спасибо всем за. поддержка.

Смежные вопросы