【Django-CI系统】管理后台显示缩略图-20220509

【Django-CI系统】管理后台显示缩略图-20220509,第1张

效果:管理后台显示缩略图

models.py添加image_img()
class reward(models.Model):
    # 奖品
    id = models.AutoField(primary_key=True)
    reward_name = models.CharField(max_length=135, blank=True, null=True, verbose_name=u'奖品名称')
    reward_image = models.ImageField(max_length=135, blank=True, null=True, verbose_name=u'奖品照片',upload_to='static\images')
    reward_score = models.IntegerField(blank=True, null=True,verbose_name=u'奖品积分')
    reward_inventory_total = models.IntegerField(blank=True, null=True, verbose_name=u'奖品入库总量')
    reward_inventory_used = models.IntegerField(blank=True, null=True, verbose_name=u'奖品使用量')
    reward_inventory_left = models.IntegerField(blank=True, null=True, verbose_name=u'奖品剩余量')
    class Meta:
        db_table = u'reward'
        verbose_name = u'奖品'
        verbose_name_plural = u'奖品'

    def __str__(self):
        return self.reward_name


    ## 列表页显示图片
    def image_img(self):
        if not self.reward_image:
            return '无'
        return format_html(
            """""",
            self.reward_image.url)

    image_img.short_description = '图片'
admin.py不需要在列表页显示image字段了,而是显示image_img字段
# 奖品管理类
class rewardAdmin(admin.ModelAdmin):

    list_display = ('id','reward_name','image_img','reward_score','reward_inventory_total',
                    'reward_inventory_used','reward_inventory_left')

    ### 列表页排序字段
    ordering = ('reward_name',)
settings.py
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
urls.py
from django.contrib.staticfiles.urls import static
from . import settings

urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/883848.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-14
下一篇2022-05-14

发表评论

登录后才能评论

评论列表(0条)

    保存