xadmin引入django-stdimage在列表页预览图片
2024-09-04 20:52:01
一、安装
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管理后台:
最新文章
- caffe调试小结2
- ASP.Net MVC开发基础学习笔记(2):HtmlHelper与扩展方法
- virtual方法和abstract方法
- 开源是一种态度、分享是一种精神 — FirApi发布、WeiXinApi更新
- 怎么在Form1调用Form2中的成员?
- 【ntp】centos7下ntp服务器设置
- 我的IT相关网址收藏
- 发布站点到远程FTP根目录
- eclipse代码左虚线对齐设置
- javascript this指向
- Luogu3613 睡觉困难综合征
- Wolsey ";强整数规划“ 建模的+Leapms实践——无产能批量问题
- day08文件操作的三步骤,基础的读,基础的写,with...open语法,文件的操作模式,文件的操作编码问题,文件的复制,游标操作
- MySQL 数据表操作
- jvm排查问题常用命令及注释
- Exp4 恶意代码分析 20154320 李超
- go跨平台编译
- jquery 获得下拉框的值《转》
- iptables增加、删除、修改、查询、保存防火墙策略教程
- 火狐对SVG的兼容性
热门文章
- RaxML使用
- Linux进程和计划任务管理
- 【CF1097F】Alex and a TV Show
- B1005 继续(3n+1)猜想 (25 分)
- Linux性能优化实战学习笔记:第八讲
- [LeetCode] 864. Shortest Path to Get All Keys 获得所有钥匙的最短路径
- [LeetCode] 321. Create Maximum Number 创建最大数
- oracle--10GRAC集群搭建问题OUI-25031
- android 自定义gridview(导航)
- 【转】python 调用super()初始化报错“TypeError: super() takes at least 1 argument”