Djangoでの属性がありませんについて
解決したいこと
DjangoでPILLOWを使って写真の色などを変更したい
発生している問題・エラー
anaconda3/envs/py36/lib/python3.7/site-packages/PIL/ImageEnhance.py", line 51, in __init__
if "A" in image.getbands():
AttributeError: 'QuerySet' object has no attribute 'getbands'
例)
'QuerySet'オブジェクトには属性 'getbands'がありません
または、問題・エラーが起きている画像をここにドラッグアンドドロップ
該当するソースコード
Views.py
from django.shortcuts import render
from django.http import HttpResponse
from.models import Photo
from django.conf import settings
from imagekit.processors import Adjust
import matplotlib.pyplot as plt # matplotlibを読み込んで、pyplotを pltという名
import cv2
from PIL import Image, ImageDraw
from PIL import ImageEnhance
import numpy as np
# Create your views here.
def index(request):
if request.method == 'POST':
form = Photo.objects.order_by('photo')
if form.is_valid():
form.save()
return redirect('index')
else:
form = Photo
#max_id = Photo.objects.latest('photo').id
obj = Photo.objects.order_by('photo')
#input_path = settings.BASE_DIR + obj.photo.url
input_path = obj
#output_path = settings.BASE_DIR + "/media/output/output.jpg"
#gray(input_path,output_path)
return render(request, 'edits/index.html', {
'edits': input_path,
'edits':obj,
'edits':saturations(input_path),
})
def saturations(input_path):
img = input_path
# SATURATION = 0.2
saturation_converter = ImageEnhance.Color(img)
saturation = saturation_converter.enhance(SATURATION)
saturation_img = saturation
#plt.imshow(saturation_img)
#saturation_img.save(output_path,saturation_img)
return saturation_img
models.py
from django.db import models
# Create your models here.
class Photo(models.Model):
photo = models.ImageField( upload_to='media/',)
自分で試したこと
Djangoを使って初めてのアプリ開発になります。勉強歴が浅く、コードが読みにくいかと思いますが、もし良ければヒント等でもいただけると嬉しいです。
0