我试着
1) 拍一张上传的图片,用枕头把它变成黑白的
2) 在视图中将原始文件保存到名为“file”的 FileField
3)在视图中将黑白版本保存到名为“thumbnail_225”的 ImageField
1 和 2 效果很好,但我似乎无法弄清楚 #3。
非常感谢任何反馈。
看法
def archive_media_upload(request):
if request.method == 'POST':
form = UploadForm(request.POST, request.FILES)
if form.is_valid():
m = form.save(commit=False)
m.user = request.user
m.type = 1
# create black and white
image = Image.open(m.file)
black_and_white = image.convert("L")
#HOW DO I SAVE/ASSIGN BW IMAGE TO the "thumbnail_225" ImageField?
m.save()
return HttpResponseRedirect(reverse('archive_media_archive'))
else:
form = UploadForm(initial={'user': request.user })
return render(request, 'archive_app/archive_media_upload.html', {'archive':True, 'show_upgrade_link': show_upgrade_link,'form': form})
模型
class Media(models.Model):
created_date = models.DateTimeField(default=datetime.now)
type = models.IntegerField(default=0)
user = models.ForeignKey(User)
title = models.CharField(max_length=255, blank=True)
file = models.FileField(upload_to=get_upload_file_name)
thumbnail_225 = models.ImageField(upload_to="thumbnail_images/", blank=True)