Thursday, 19 May 2016

How to show images instead of path in django admin edit page?



    def formfield_for_dbfield(self, db_field, **kwargs):
        if db_field.name == 'instagram_url_male' or db_field.name == 'instagram_url_female':
            request = kwargs.pop("request", None)
            kwargs['widget'] = AdminImageWidget
            return db_field.formfield(**kwargs)
        return super(BrandNavigationAdmin,self).formfield_for_dbfield(db_field, **kwargs)


class AdminImageWidget(AdminFileWidget):
    def render(self, name, value, attrs=None):
        output = []
        if value and getattr(value, "url", None):
            image_url = value.url
            file_name=str(value)
            output.append(u' <a href="%s" target="_blank"><img width="100" height="100" src="%s" alt="%s" /></a> %s ' % \
                (image_url, image_url, file_name, _('Change:')))
        output.append(super(AdminFileWidget, self).render(name, value, attrs))
        return mark_safe(u''.join(output))

No comments:

Post a Comment