Django 有没有办法自定义字段在结果列表中的外观?

Django 有没有办法自定义字段在结果列表中的外观?,django,django-admin,Django,Django Admin,有没有办法自定义django管理结果列表中字段的显示方式? 例如,我希望基于字段值显示图像,就像布尔字段使用图像而不是文本值显示一样。在管理类中定义一个方法,返回所需的HTML class MyAdmin(admin.ModelAdmin): list_display = ('name', 'my_image_field') def my_image_field(self, obj) return '<img src="/path/to/my/image/

有没有办法自定义django管理结果列表中字段的显示方式?
例如,我希望基于字段值显示图像,就像布尔字段使用图像而不是文本值显示一样。

在管理类中定义一个方法,返回所需的HTML

class MyAdmin(admin.ModelAdmin):
    list_display = ('name', 'my_image_field')

    def my_image_field(self, obj)
        return '<img src="/path/to/my/image/%s"/>' % obj.url
    my_image_field.allow_tags = True
类MyAdmin(admin.ModelAdmin):
列表显示=('name','my\u image\u field')
定义“我的图像”字段(自我、obj)
返回“”%obj.url
my_image_field.allow_tags=True

在admin类中定义一个返回所需HTML的方法

class MyAdmin(admin.ModelAdmin):
    list_display = ('name', 'my_image_field')

    def my_image_field(self, obj)
        return '<img src="/path/to/my/image/%s"/>' % obj.url
    my_image_field.allow_tags = True
类MyAdmin(admin.ModelAdmin):
列表显示=('name','my\u image\u field')
定义“我的图像”字段(自我、obj)
返回“”%obj.url
my_image_field.allow_tags=True

除了Daniel建议的方法外,您还可以将模型上的函数定义为属性,然后将其添加到列表显示中,就像常规字段一样:

class MyModel(models.Model):
    image_field = models.ImageField(...)

    @property
    def my_image_field(self):
        return return '<img src="%s"/>' % self.image_field.url
    my_image_field.allow_tags = True
类MyModel(models.Model):
image\u field=models.ImageField(…)
@财产
定义“我的图像”字段(自我):
返回“”%self.image\u field.url
my_image_field.allow_tags=True

这样做的好处是,my_image_字段属性现在可以从处理MyModel对象的任何地方使用,而不仅仅是在管理员中使用(无可否认,对于这个特定属性来说,可能不是一个大的用例,但在其他情况下肯定会派上用场).

除了Daniel建议的方法外,您还可以将模型上的函数定义为属性,然后将其添加到列表显示中,就像常规字段一样:

class MyModel(models.Model):
    image_field = models.ImageField(...)

    @property
    def my_image_field(self):
        return return '<img src="%s"/>' % self.image_field.url
    my_image_field.allow_tags = True
类MyModel(models.Model):
image\u field=models.ImageField(…)
@财产
定义“我的图像”字段(自我):
返回“”%self.image\u field.url
my_image_field.allow_tags=True
这样做的好处是,my_image_字段属性现在可以从处理MyModel对象的任何位置使用,而不仅仅是在管理员中使用(无可否认,对于这个特定属性来说可能不是一个大的用例,但在其他情况下肯定会派上用场)