Django thumbnails
Я создаю веб-приложение для изменения размера фотографий через api. И фотографии меняются в размерах, но только уменьшаются, если я попытаюсь поставить размер больше, чем текущий, ничего не получится. Возможно, это особенность миниатюры
models.py:
class Content(models.Model):
width = models.IntegerField()
heigth = models.IntegerField()
image = models.ImageField(blank=True)
def save(self):
img = Image.open(self.image.path)
output_size = (self.width, self.heigth)
img.thumbnail(output_size)
img.save(self.image.path)
serializer.py:
class ContentSerializer(serializers.Serializer):
width = serializers.IntegerField()
heigth = serializers.IntegerField()
def create(self, validated_data):
return Content.objects.create(**validated_data)
def update(self, instance, validated_data):
instance.width = validated_data.get('width', instance.width)
instance.heigth = validated_data.get(
'heigth', instance.heigth)
instance.save()
return instance
views.ContentView.put:
def put(self, request, pk):
saved_content = get_object_or_404(Content.objects.all(), pk=pk)
data = request.data.get('content')
serializer = ContentSerializer(
instance=saved_content, data=data, partial=True)
if serializer.is_valid(raise_exception=True):
content_saved = serializer.save()
return Response({
"success": "Picture '{}' updated successfully".format(content_saved.id)
})
template:
{% for picture in pictures %}
{% with picture.image as im %}
<img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}">
{% endwith %}
{% endfor %}