я хочу вывести измененное изображение на страницу сайта. Изображение должно быть уменьшено. Посмотрел, что это можно сделать с помощью библиотеки Pillow, но не много не пойму каким образом мне нужно показать путь к файлу с фотографией(я хочу чтобы этот путь изменялся в зависимости от поста). Вот мой код:
views.py:
from django.shortcuts import render
from .models import Product, user_directory_path
from django.views.decorators.http import require_http_methods
from PIL import Image
def index(request):
img = Image.open(Product.image.url)
new_image = img.resize((200, 385))
new_image.show()
new_image.save(user_directory_path)
products = Product.objects.all()
return render(request, 'shop/products.html', {'products':products})
models.py:
from django.db import models
from django.conf import settings
from django.contrib.auth.models import User
def user_directory_path(instance, filename):
return 'user_{0}/{1}'.format(instance.user_id, filename)
class Product(models.Model):
user = models.ForeignKey(to=User, null=True, on_delete=models.SET_NULL)
title = models.CharField(max_length=120)
image = models.ImageField(upload_to=user_directory_path)
description = models.TextField(max_length=500)
price = models.IntegerField()
def __str__(self):
return self.title
products.html:
{% extends 'base.html' %}
{%block title%} Магазин {%endblock%}
{%block content %}
{% for product in products %}
<h1>{{product.title}}</h1>
<img src="{{product.image.url}}">
<h3>{{product.description}}</h3>
{%endfor%}
{%endblock%}