我正在尝试将裁剪的图像保存到模型中 . 我收到以下错误:
Traceback(最近一次调用最后一次):文件“/mypath/lib/python2.7/site-packages/django/core/handlers/base.py”,第132行,在get_response response = wrapped_callback(request,* callback_args,* * callback_kwargs)文件“/mypath/lib/python2.7/site-packages/django/contrib/auth/decorators.py”,第22行,在_wrapped_view中返回view_func(request,* args,** kwargs)文件“/ mypath /views.py“,第236行,在player_edit player.save()文件”/mypath/lib/python2.7/site-packages/django/db/models/base.py“,第734行,保存force_update = force_update ,update_fields = update_fields)文件“/mypath/lib/python2.7/site-packages/django/db/models/base.py”,第762行,在save_base updated = self._save_table(raw,cls,force_insert,force_update, using,update_fields)文件“/mypath/lib/python2.7/site-packages/django/db/models/base.py”,第824行,在_save_table中为f表示non_pks]文件“/mathath/lib/python2.7 /site-packages/django/db/models/fields/files.py“,第313行,在pre_save中,如果是file而不是file._committed:文件”/ mypath / l ib / python2.7 / site-packages / PIL / Image.py“,第512行,getattr引发AttributeError(name)AttributeError:_committed
我处理表单提交的视图如下所示:
if request.method == 'POST':
form = PlayerForm(request.POST, request.FILES, instance=current_player)
if form.is_valid():
temp_image = form.cleaned_data['profile_image2']
player = form.save()
cropped_image = cropper(temp_image, crop_coords)
player.profile_image = cropped_image
player.save()
return redirect('player')
裁剪功能如下所示:
from PIL import Image
import Image as pil
def cropper(original_image, crop_coords):
original_image = Image.open(original_image)
original_image.crop((0, 0, 165, 165))
original_image.save("img5.jpg")
return original_image
将裁剪后的图像保存到模型是否正确?如果是这样,为什么我会收到上述错误?
谢谢!
1 回答
该函数应如下所示: