내 관리 인터페이스에 ImageField가있는 양식이 있습니다. 다른 필드가 유효성 검사 오류를 발생시킬 때를 제외하고는 모두 잘 작동합니다. 이러한 경우 양식은 사용자에게 수정을 위해 반환되지만 이미로드 된 이미지 파일은 양식에서 지워집니다.장고의 유효성 검사 오류 후 ImageField에서 이미지를 다시 제출
이미지를 저장하도록 이미지에 이미 제출 된 이미지를 다시로드하는 방법에 대한 아이디어가 있습니까?
감사합니다. 코드의
몇 가지 흥미로운 비트 :
class DealForm(forms.ModelForm):
image = forms.ImageField(required=False,widget=AdminImageWidget)
def clean():
data = self.cleaned_data
date_start = data.get('date_start')
date_end = data.get('date_end')
(... several other validations ...)
return data
.
class AdminImageWidget(forms.FileInput):
def __init__(self, attrs={}):
super(AdminImageWidget, self).__init__(attrs)
def render(self, name, value, attrs=None):
output = []
if value and hasattr(value, "url"):
output.append(('<a target="_blank" href="%s">'
'<img src="%s" /></a> '
% (value.url, value.url_200x150)))
output.append(super(AdminImageWidget, self).render(name, value, attrs))
return mark_safe(u''.join(output))
그것은 단지 관리 형태의 해결인가? 정규 양식에 대한 위젯 예제를 볼 수 없기 때문입니다. – alexche8
예, 관리자 용입니다. – un1t