CharField
の値に基づいての値を取得したいImageField
。私のフォームとビューは次のように定義されています。
#Form
class GpsImForm(forms.Form):
image = forms.ImageField(required=True)
gps_data = forms.CharField(required=True)
#View
def gpsim_gen_view(request):
if request.method == 'POST':
form = GpsImForm(request.POST, request.FILES)
if 'image' in request.FILES:
im = request.FILES['image']
i = Image.open(im)
... # functions to extract exif data from i
request.POST.update({ 'gps_data': ...}) # set gps_data based on exif data from i
if form.is_valid():
obj = form.save()
return ... #returns the gpsim
else:
form = GpsImForm()
return direct_to_template(request, 'gpsim_generate.html', {'form': form,})
はgps_data
更新されますが、を使用するとすぐにImage.open()
次のエラーメッセージが表示されます。
有効な画像をアップロードしてください。アップロードしたファイルは、画像または破損した画像ではありませんでした。
に関する行にコメントして何にでもi
変更するとgps_data
、フォーム(画像付き)はエラーなしで保存されます...
# i = Image.open(im)
# ...
# functions to extract exif data from i
request.POST.update({ 'gps_data': 'some text'}) # set gps_data to 'test'