【问题标题】:__str__ returned non-string (type ImageFieldFile)__str__ 返回非字符串(ImageFieldFile 类型)
【发布时间】: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


【解决方案1】:

原来我只需要摆脱 def __str__self(): return self.image 来自模型。

【讨论】:

    猜你喜欢
    • 2018-03-02
    • 1970-01-01
    • 2020-04-19
    • 2018-08-16
    • 2018-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多