Я добавил django-star-rating в свое приложение, но шаблон не отображает звезды. Я добавил поле рейтинга в классе AlbumImage в models.py и попытался выполнить итерацию по списку изображений (фотографий), но звездный рейтинг не появляется. Я не редактировал views.py.
models.py:
class AlbumImage(models.Model):
image = ProcessedImageField(upload_to='albums', processors=[ResizeToFit(1280)], format='JPEG', options={'quality': 70})
thumb = ProcessedImageField(upload_to='albums', processors=[ResizeToFit(300)], format='JPEG', options={'quality': 80})
album = models.ForeignKey('album', on_delete=models.PROTECT)
alt = models.CharField(max_length=255, default=uuid.uuid4)
created = models.DateTimeField(auto_now_add=True)
width = models.IntegerField(default=0)
height = models.IntegerField(default=0)
slug = models.SlugField(max_length=70, default=uuid.uuid4, editable=False)
ratings = GenericRelation(Rating, related_query_name='object_list')
def __unicode__(self):
return self.ratings
views.py:
class AlbumDetail(DetailView):
model = Album
def get_context_data(self, **kwargs):
# Call the base implementation first to get a context
context = super(AlbumDetail, self).get_context_data(**kwargs)
# Add in a QuerySet of all the images
context['images'] = AlbumImage.objects.filter(album=self.object.id)
return context
шаблон:
{% load ratings %}
{% for item in object_list %}
{{item.image}} and {{item.ratings}}
{% endfor %}