相关疑难解决方法(0)

在Django中验证错误后重新提交ImageField中的图像

在我的管理界面中,我有一个带有ImageField的表单.除非其他一些字段引发验证错误,否则一切都很有效.在这些情况下,表单将返回给用户进行更正,但已从表单中清除已加载的图像文件.

有什么想法,以某种方式,将已经提交的图像重新加载到表单,以便保存图像beeing?

谢谢!

太有趣的代码:

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
Run Code Online (Sandbox Code Playgroud)

.

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))
Run Code Online (Sandbox Code Playgroud)

django django-forms django-admin

5
推荐指数
2
解决办法
3207
查看次数

标签 统计

django ×1

django-admin ×1

django-forms ×1