【发布时间】:2020-09-15 02:43:44
【问题描述】:
我正在尝试打印数据库以查看在提交图像上传时图像是否正确保存。我收到此错误,str 在打印数据库时返回非字符串(类型 ImageFieldFile)。我已经查看了平台上的其他问题,它们似乎与此问题的修复不匹配。正确将此图像提交到数据库我缺少什么? 这是代码。
#models.py
class Image(models.Model):
image = models.ImageField(upload_to='cover/pdfs', null=True, blank = True)
def __str__(self):
#forms.py
from .models import Image
from django import forms
class ImageForm(forms.ModelForm):
class Meta:
model= Image
# "__all__" takes all the fields. please helps with the exception error
fields= "__all__"
return self.image
#views.py
def upload(request):
context = {}
userBio = Bio.objects.get(userData = User.objects.get(id = request.session['client']['id']))
if request.method == 'POST':
dataBinder = ImageForm(request.POST or None,request.FILES or None)
if dataBinder.is_valid():
dataBinder.save()
pics = Image.objects.all()
context = {
"imageFeed" : pics
}
print("RIght here.. ", pics)
else:
print("Not a valid input from form....")
context = {
"imageFeed" : "There was an error"
}
print("There was an error")
return render(request, "GoEnigma/dashboard.html", context)
这在我的 urlpatterns 下面
#urls.py
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
为媒体定义我的根
#settings.py
MEDIA_URL = '/images/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'static/images')
【问题讨论】:
-
在您的 Image 类中,您开始定义
def __str__(self):但从未完成,因此它会抓取后面的return self.image。
标签: python django django-models django-rest-framework django-forms