2016-12-07 2 views
0

Мне нужно показать несколько изображений, загруженных на странице администратора (используя FileField) в моем html.Показать изображения Загрузка в Admin с помощью FileField в Django

настоящее время я использую:

Python 3.6.0b4

Джанго 1.10.3

Я могу себе показать, если модель имеет только одно изображение, но когда я пытаюсь поставить несколько изображений, Я не знаю, как это показать.

Вот мой код:

models.py

class Product(models.Model): 
    name = models.CharField(max_length=140) 
    created_by = models.ForeignKey(User,null=True) 

    def __str__(self): 
     return self.name 

class ProductImage(models.Model): 
    name= models.ForeignKey(Product) 
    image = models.FileField(upload_to='media/',null=True,blank=True) 

admin.py

class ProductImageInline(admin.TabularInline): 
    model = ProductImage 

class ProductModelAdmin(admin.ModelAdmin): 
    exclude = ('created_by',) 

    inlines = [ProductImageInline] 

    def save_model(self, request, obj, form, change): 
     if not change: 
      obj.created_by = request.user 
     obj.save() 


admin.site.register(Product,ProductModelAdmin) 

Если добавить

image = models.FileField(upload_to='media/',null=True,blank=True) 

в моем model.py, я могу показать его в HTML, как это:

<img width=200 src="{{product.image.url}}" /></a> 

Как я могу показать несколько изображений в формате HTML? Я довольно новичок в Django, но имею опыт в веб-разработке.

Заранее спасибо.

ответ

0

Если у вас есть отношение many-to-one, вы можете получить все связанные с записью объекта, используя <modelname>_set.

Так попробуйте перебрать все картинки в productimage_set:

{% for image in product.productimage_set.all %} 
    <img src="{{image.image.url}}"> 
{% endfor %} 
+0

Wow. Большое спасибо. Полностью работает. Могу ли я задать последний вопрос? Как показать изображения, загруженные на странице администратора на странице «Редактирование модели». Он показывает только путь к файлу, ведущий к изображению. Благодарю. –

+1

@GGWordPress посмотреть этот ответ: http://stackoverflow.com/a/16307554/641249 – neverwalkaloner

+0

Я не могу вас поблагодарить. Большое спасибо! –

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