文档章节

xadmin引入django-stdimage在列表页预览图片

o
 osc_g8254g7s
发布于 2019/08/19 23:14
字数 316
阅读 10
收藏 0

精选30+云产品,助力企业轻松上云!>>>

一、安装

pip install django-stdimage

安装django-stdimage库

https://github.com/codingjoe/django-stdimage

GitHub主页

 

二、配置demo/settings.py:

'stdimage',
# django-stdimage

 其他的配置不用更改

也没有静态资源文件

 

三、模型product/models.py:

修改产品图片字段

from ckeditor_uploader.fields import RichTextUploadingField
from django.db import models


# Create your models here.
from stdimage import StdImageField


class ProductInfo(models.Model):
# 产品表

product_name = models.CharField(max_length=32, verbose_name="产品名称")
# 产品名称

product_picture = StdImageField(
upload_to='pictures/%Y%m%d',
blank=True,
null=True,
variations={
'large': (600, 400),
'thumbnail': (100, 100, True),
'medium': (300, 200),
},
delete_orphans=True,
verbose_name="产品图片"
)
# 产品图片

product_describe = models.CharField(max_length=255, verbose_name="产品描述")
# 产品描述
product_manager = models.CharField(max_length=11, verbose_name="产品经理")
# 产品经理
product_detail = RichTextUploadingField(verbose_name="产品详情", default="")
# 产品详情,带有上传图片功能的富文本编辑器
create_time = models.DateTimeField(auto_now_add=True, verbose_name="创建时间")
# 创建时间
update_time = models.DateTimeField(auto_now=True, blank=True, null=True, verbose_name="修改时间")
# 修改时间

class Meta:
db_table = 'product_info'
# 设置表名,默认表名是:应用名称_模型类名
# 带有应用名的表名太长了

verbose_name = '产品列表'
verbose_name_plural = "产品列表"

def product_picture_preview(self):
return '<img src="%s" />' % self.product_picture.thumbnail.url

product_picture_preview.short_description = "产品图片"
product_picture_preview.allow_tags = True

def __str__(self):
return self.product_name

 

四、admin注册product/admin.py:

list_display = [
'id',
'product_name',
'product_picture_preview',
# 产品图片,不是product_picture
'product_describe',
'product_manager',
'product_detail',
'create_time',
'update_time',
]
# 要显示的字段列表

 

五、admin管理后台:

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

如何防止单击按钮时对话框关闭 - How to prevent a dialog from closing when a button is clicked

问题: I have a dialog with EditText for input. 我有一个使用EditText输入的对话框。 When I click the "yes" button on dialog, it will validate the input and then close the dialog.......

富含淀粉
15分钟前
7
0
访问者模式Visitor

一 概述 场景:通常来说,用于封装数据所用到的pojo类,其只包含get、set,对应的业务逻辑是在Service上完成的;但如果出现多个pojo类都共用一套逻辑时,则应该考虑将逻辑进行抽象,不同类型...

小明不觉小
39分钟前
5
0
jQuery Ajax错误处理,显示自定义异常消息 - jQuery Ajax error handling, show custom exception messages

问题: Is there some way I can show custom exception messages as an alert in my jQuery AJAX error message? 有没有什么方法可以在我的jQuery AJAX错误消息中显示自定义异常消息作为警报...

法国红酒甜
45分钟前
24
0
告别传统机房:3D 机房数据可视化实现智能化与VR技术的新碰撞

前言 随着各行业对计算机依赖性的日益提高,计算机信息系统的发展使得作为其网络设备、主机服务器、数据存储设备、网络安全设备等核心设备存放地的计算机机房日益显现出它的重要地位,而机房...

xhload3d
昨天
51
0
spring源码解析-xml配置文件读取

整个 XML配置文件读取的大致流程如下: 通过继承自AbstractBeanDefinitionReader中的方法,来使用ResourLoader将资源文件路径转换为对应的Resource文件(读取资源文件并将其转为Resource) ...

wc_飞豆
昨天
22
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部