models.py
class Movies_list(models.Model): movies_thumbnail=models.ImageField(default='thumbnail.jpg',upload_to='movies_pics')
def save(self,*args,**kwargs):
super().save(*args,**kwargs)
img=Image.open(self.movies_thumbnail.path)
if img.height > 100 or img.width > 100:
output_size = (200,300)
image_movies=img.resize(output_size,resample=Image.ANTIALIAS)
image_movies.save(self.movies_thumbnail.path)
settings.py
STATIC_URL = '/static/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
views.py
form=Update_Movies_form(
data=(request.POST or None),
files=(request.FILES or None),
# instance=obj
)
form.fields["movies_thumbnail"].initial = obj.movies_thumbnail
movies_detail=Movies_list.objects.filter(movies_id=movies_id)
print(movies_detail)
url=url_filter(request,movies_id)
if form.is_valid():
if request.user.is_staff:
obj_movies_update=Movies_list.objects.filter(movies_id=movies_id).update(
movies_thumbnail=request.FILES["movies_thumbnail"],
forms.py
class Create_Movies_form(forms.Form):
movies_thumbnail=forms.ImageField(widget=forms.ClearableFileInput(attrs={'placeholder': 'thumbnail'}))
при отправке формы обновления он сохраняет videos_thumbnail в папке media, а не в media / movies_pics, поэтому я пытаюсь принудительно сохранить его в movies_pics с помощьюзамена
movies_thumbnail = request.FILES ["movies_thumbnail"],
на
movies_thumbnail = "movies_pics /" + str (запрос.FILES ["movies_thumbnail"]),
Сохраняет изображение в movies_pic и работает просто отлично, но не обрезает изображение, как указано в models.py
def save(self,*args,**kwargs):
super().save(*args,**kwargs)
img=Image.open(self.movies_thumbnail.path)
if img.height > 100 or img.width > 100:
output_size = (200,300)
image_movies=img.resize(output_size,resample=Image.ANTIALIAS)
image_movies.save(self.movies_thumbnail.path)