【问题标题】:How to Django‘s InlineModelAdmin TabularInline or StackedInline show Thumbnail如何 Django 的 InlineModelAdmin TabularInline 或 StackedInline 显示缩略图
【发布时间】:2012-05-02 05:35:45
【问题描述】:

管理员

class PersonInlines(admin.StackedInline):
    model = Person
    extra = 0

class CompanyAdmin(admin.ModelAdmin):
    inlines = (PersonInlines,)
    fields = ('name', )

admin.site.register(Company, CompanyAdmin)

class PersonAdmin(admin.ModelAdmin):
    def image_thumbnail(self, obj):
        if obj.photo:
            image = FileObject(obj.photo.name)
            if image.filetype == "Image":
                return '<img src="%s" />' % image.version_generate(ADMIN_THUMBNAIL).url
    else:
        return ""

    image_thumbnail.allow_tags = True
    image_thumbnail.short_description = "Thumbnail"

    fields = ('first_name', 'last_name', 'photo')
    list_display = ('first_name', 'last_name', 'photo',)

admin.site.register(Person, PersonAdmin)

型号

def upload_to(instance, filename):
    filename = time.strftime('%Y%m%d%H%M%S')
    ym = time.strftime('%Y%m')
    return 'uploads/%s/%s.jpg' % (ym,filename)

class Person(models.Model):
    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=30)

    photo = models.ImageField(u"Image (Upload)",upload_to=upload_to)
    company = models.ForeignKey('Company')

    def image(self):
        if self.photo:
            return FileObject(self.photo.name)
        return None


class Company(models.Model):
    name = models.CharField(max_length=30)
    def __unicode__(self):
        return self.name

错误 “PersonAdmin.fields”指的是表单中缺少的字段“image_thumbnail”。

如何在 Django 的 InlineModelAdmin TabularInline 或 TabularInline 中显示缩略图

喜欢这个

http://i.stack.imgur.com/hz2Ep.jpg

【问题讨论】:

  • 这段代码对你有用吗?我收到此错误 FileObject not defined 错误..我不知道如何导入它..热切期待任何帮助..谢谢

标签: django django-admin thumbnails


【解决方案1】:

您必须参考image_thumbnail 而不是photo

fields = ('first_name', 'last_name', 'image_thumbnail')

虽然你可以考虑使用这个mixin-approach

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 2014-08-05
    • 2010-11-25
    • 2015-06-14
    • 2023-03-31
    • 2014-05-22
    • 1970-01-01
    相关资源
    最近更新 更多