#python #django
#python #django
Вопрос:
Я создаю приложение для блога, и я хотел бы показать все изображения, которые были загружены в одно сообщение в блоге.
Вот мои Models.py:
class Post(models.Model):
title = models.CharField(max_length=100)
content = RichTextField(blank=True, null=True)
class PostImage(models.Model):
post = models.ForeignKey(Post, default=None, on_delete=models.CASCADE, related_name='postimages')
image = models.ImageField(upload_to='gallery/')
Views.py
class PostGalleryView(DetailView):
model = Post
template_name = 'blog/gallery.html'
context_object_name = 'photos'
В шаблоне, если я туда помещу {{ photos.postimages }}
, то он отобразится на странице: blog.PostImage.Нет
даже если эти 2 изображения загружены в конкретное сообщение в блоге. {{ photos.postimages.count }}
показывает номер 2. Если я попытался выполнить цикл photos.postimages
, он выдает ошибку: объект ‘RelatedManager’ не может быть повторен. Есть идеи, как я могу получить доступ к модели PostImage в шаблоне?
Ответ №1:
Попробуйте использовать цикл в своем шаблоне с all
подобным:
{% for photo in photos.postimages.all %}
{{ photo.image }}
{% endfor %}
Комментарии:
1. это должно быть
{{ photo.image }}