0
之前我在做這個應用程序,我需要一個用戶的圖像,然後利用水平從ImageOps
的Pillow
庫翻轉。要做到這一點我做了一個模型,像上面:Django的1.11:水平翻轉圖片保存到一個Django模型
from django.db import models
class ImageClient(models.Model):
image = models.ImageField(null=False, blank=False)
我做了使用ImageField
與HTML表單形式enctype="multipart/form-data"
,並在我的意見,我做了以下內容:
from django.shortcuts import render, redirect
from .forms import ImageForm
from .models import ImageClient
from PIL import Image, ImageOps
def new(request):
"""
Returns mirror image from client.
"""
if request.method == 'POST':
form = ImageForm(request.POST, request.FILES)
if form.is_valid():
image = Image.open(form.cleaned_data['image'])
image = ImageOps.mirror(image)
form_image = ImageClient(image=image)
form_image.save()
return redirect('img:detail', pk=form_image.id)
else:
form = ImageForm()
return render(request, 'img/new_egami.html', {'form':form})
....
正如你看到的時候,一個檢查的形式是有效的,我打開窗體的形象和水平翻轉(使用ImageOps.mirror()
),那麼我將它保存。但是,我總是收到此錯誤'Image' object has no attribute '_committed'
。我知道Image object
從枕頭,但我不明白這個錯誤。有人可以解釋和/或解決這個錯誤嗎?
'ImageField'必須有一個'upload_to'屬性:'圖片=模型.ImageField(upload_to = '文件夾到上載照片/',空=假空白= FALSE)' – doru