这是我的forms.py:
class UploadImageForm(forms.ModelForm):
class Meta:
model = UserImages
fields = ['photo']
这是我的models.py文件:
class UserImages(models.Model):
user = models.ForeignKey(User)
photo = models.ImageField(upload_to=get_file_path)
这是我的观点:
def uploadImageView(request):
if request.method == 'POST':
form = UploadImageForm(request.POST, request.FILES)
if form.is_valid():
instance = form.save(commit=False)
instance.user = request.user
instance.save()
return redirect('/')
else:
form = UploadImageForm()
return render(request, 'uploadImagePage.html', {'uploadImageForm': form})
但这只是保存上传的图像。我如何同时保存缩略图?缩略图的文件名与原图完全相同,只是在文件名后面加上单词“thumbnail”。
我阅读的教程说可以这样做:
im = Image.open(infile)
im.thumbnail(size, Image.ANTIALIAS)
我想获取一个缩略图,但在我的情况下,图像甚至还没有保存。
self.make_thumbnail()
之前可以添加if not self.photo.closed:
。 - sergphoto
没有更改(例如,如果模型有额外的字段并且您想要更新这些字段)? - MrColes