1. 概述
在使用Django-admin后台管理系统开发过程中,经常需要展示上传的图片。本文将介绍如何在Django-admin列表中展示上传的图片。
2. 设置模型
首先,我们需要在Django的模型中添加一个字段来存储上传的图片。假设我们有一个模型叫做Product,我们可以在该模型中添加一个ImageField字段来存储上传的图片:
class Product(models.Model):
name = models.CharField(max_length=100)
description = models.TextField()
image = models.ImageField(upload_to='products/')
在上面的代码中,我们定义了一个ImageField字段,它的upload_to参数指定了上传的图片保存的路径,此处设置为"products/"。
3. 后台管理
3.1 创建后台管理类
为了在Django-admin中展示上传的图片,我们需要为Product模型创建一个后台管理类。在该后台管理类中,我们可以使用list_display属性来指定在列表中展示哪些字段,其中也包括我们的image字段。
from django.contrib import admin
class ProductAdmin(admin.ModelAdmin):
list_display = ('name', 'description', 'display_image')
def display_image(self, obj):
display_image.short_description = 'Image'
在上面的代码中,我们通过display_image方法定义了一个新的字段,它返回一个包含展示图片的HTML代码的字符串。
3.2 注册后台管理类
接下来,我们需要将Product模型和ProductAdmin类进行注册,以便在Django-admin中使用。在admin.py文件中添加以下代码:
from django.contrib import admin
from .models import Product
admin.site.register(Product, ProductAdmin)
4. 运行服务器
现在我们已经完成了所有必要的设置,可以运行服务器并访问Django-admin来查看我们的更改。
python manage.py runserver
运行以上命令后,我们可以在浏览器中访问 http://localhost:8000/admin 来打开Django-admin后台管理系统。
5. 查看结果
现在,在Product列表中,我们将看到一个新的字段"Image",该字段将展示上传的图片:
注意:
在展示上传的图片时,如果图片无法加载,可能是因为图片路径不正确或图片尺寸过大。请确保图片路径正确,并尝试调整display_image方法中HTML代码中的宽度和高度。
6. 总结
通过以上步骤,我们成功地在Django-admin列表中展示了上传的图片。通过自定义后台管理类的方式,我们可以灵活地控制列表中显示的字段,包括上传的图片。
这样,我们可以方便地对上传的图片进行管理和查看,为网站开发提供了更好的用户体验。