Django-admin列表展示上传图片

1.在models.py文件中创建表ImageField类型字段

 class user(models.Model):
     img = models.ImageField(upload_to='static/upload/')  # 创建一个图像字段,upload_to设置图片保存地址

2.在admin.py 

from django.utils.safestring import mark_safe#导入make_safe
# Register your models here.
class userAdmin(admin.ModelAdmin):
list_display = ('username','email','image_data')
#readonly_fields = ('image_data',) # 必须加这行 否则访问编辑页面会报错
search_fields = ('username','email')
# 创建一个自定义方法
def image_data(self, obj):
#使用mark_safe返回内容,否则页面将以html实体展示输出结果
return mark_safe('<img src="/%s" width="50px">'%(obj.img))#src紧跟/ 表示根目录

admin.site.register(models.user,userAdmin)

3.在settings.py设置静态文件

 STATIC_URL = '/static/'
 
 STATICFILES_DIRS=[
     os.path.join(BASE_DIR,'static')
 ]
原文地址:https://www.cnblogs.com/brady-wang/p/11716784.html