from django.utils.html import format_html
class StudentAdmin(ImportExportModelAdmin): def show_img(self, obj): # head_img 字段类型是ImageField img = format_html('<img src="{}" width="80px" style="border-radius:10px"/>', (obj.head_img.url)) return img show_img.short_description = '缩略图' # 设置字段显示的名字 show_img.allow_tags = True readonly_fields = ['show_img'] # 在详情页显示缩略图 list_display = ["stu_name", 'show_img', "head_img", "balance", 'check_Log'] # 在显示列表中设置添加的字段‘show_img’ search_fields = ['stu_name', 'balance', 'check_Log'] list_filter = ['stu_name', 'balance', 'check_Log'] list_editable = ['balance']
models.py字段
class Student(models.Model): stu_name = models.CharField(max_length=40, verbose_name="学生姓名") head_img = models.ImageField(verbose_name="学生头像", upload_to="head_img/") balance = models.IntegerField(default=0, verbose_name="总金额") create_time = models.DateTimeField(auto_now_add=True, verbose_name="创建时间") class_name = models.ForeignKey(Class_name, on_delete=models.CASCADE, verbose_name="所属班级") check_Log = models.ForeignKey(Log, on_delete=models.CASCADE, related_name="check_log", verbose_name='修改日志') def __str__(self): return self.stu_name class Meta: verbose_name = "学生信息" verbose_name_plural = "学生信息" db_table = "Student"