How to show only one image in Django admin inline

后端 未结 3 1937
我在风中等你
我在风中等你 2020-12-23 11:52

I\'m using django.contrib.admin in one of my apps.

my models:

class Gallery(models.Model):
    location = models.ForeignKey(Location)
           


        
3条回答
  •  醉话见心
    2020-12-23 12:45

    In case if you use sorl-thumbnails , widget is like this:

    from django.contrib.admin.widgets import AdminFileWidget
    from django.utils.safestring import mark_safe
    from sorl import thumbnail
    
    
    class AdminImageWidget(AdminFileWidget):
        def render(self, name, value, attrs=None):
            output = []
            if value and getattr(value, "url", None):
                t = thumbnail.get_thumbnail(value,'100x100')
                output.append(''.format(t.url))
            output.append(super(AdminFileWidget, self).render(name, value, attrs))
            return mark_safe(u''.join(output))
    
    
    class GalleryImageForm(forms.ModelForm):
        """
        Image Admin Form
        """
        class Meta:
            model = Image
            widgets = {
                'image' : AdminImageWidget,
            }
    
    class GalleryImageInline(admin.TabularInline):
        ...
        form = GalleryImageForm
        ...
    

提交回复
热议问题