django – 渲染时捕获DoesNotExist:不存在照片匹配查询
发布时间:2020-12-20 13:21:01 所属栏目:Python 来源:网络整理
导读:当我在管理文件中执行以下操作时: photo = Photo.objects.get(original_image__exact=file_name) val = photo.admin_thumbnail.url 我收到此错误: Caught DoesNotExist while rendering: Photo matching query does not exist. 这是我的班级: class Admin
当我在管理文件中执行以下操作时:
photo = Photo.objects.get(original_image__exact=file_name) val = photo.admin_thumbnail.url 我收到此错误: Caught DoesNotExist while rendering: Photo matching query does not exist. 这是我的班级: class AdminImageWidget(forms.FileInput): """ A ImageField Widget for admin that shows a thumbnail. """ def __init__(self,attrs={},*args,**kwargs): super(AdminImageWidget,self).__init__(attrs) def render(self,name,value,attrs=None): output = [] file_name = unicode(value) if file_name: photo = Photo.objects.get(original_image__exact=file_name) val = photo.admin_thumbnail.url output.append(('<a target="_BLANK" href="%s">' '<img src="%s" /></a> ' % (val,val))) output.append(super(AdminImageWidget,self).render(name,attrs)) return mark_safe(u''.join(output)) 但是,如果我在shell(python manage.py shell)中执行它,它的工作完美! 怪啊? 解决方法
你究竟想做什么?
您应该找到另一种获取图像名称的方法. Django一直调用此方法’render’,即使字段本身无效.例如.: >我在管理员中上传’me.png’文件. 还有其他方法可以获取文件名,您可以覆盖save方法并获取对象实例. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |