В моем интерфейсе администратора есть форма с 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))