django admin 编辑页面(change page) 自定义字段, 展示数据
最近遇到一个需求, 需要在django 的 admin 编辑页内展示由用户上传的进行反馈的图片, 还要支持点击查看原图, 所以需要在编辑页内自定义 img 标签及 a 标签进行图片的展示及点击跳转
import json from django.contrib import admin from django.utils.safestring import mark_safe from yourapp.models import YourModel @admin.register(YourModel) # 注册模型到admin站点中 class YourAdmin(admin.ModelAdmin): ... # 自定义一个字段 def image_url(self, obj): image = obj.image if fb_img: image_html = "" for img_url in json.loads(image): artwork = ".".join(img_url.split(".")[0:-2]) # 根据业务需求, 拿到所有图片的url, 拼接 img 及 a 标签 image_html += '<a href="{}" target="_blank"><img src="{}" style="width:200px; height:200px; margin-right:2.5px; margin-left:2.5px; margin-bottom:5px"/></a>'.format(artwork, img_url) html = "<div>" + image_html + "</div><div>提示: 点击图片查看原图</div>" else: html = "-" return mark_safe(html) # 取消转义 image_url.short_description = "反馈图片" image_url.allow_tags = True # 重写编辑页, 继承父类方法 def change_view(self, request, object_id, extra_context=None): self.fields = ("name", "created", "content", "image_url") # 将自定义的字段注册到编辑页中 self.readonly_fields = ("name", "created", "image_url") # 务必将该字段设置为仅限可读, 否则抛出异常 return super(YourAdmin, self).change_view(request, object_id, extra_context=extra_context)
当我仰望星空, 看见了涛涛江水, 闻到了人声鼎沸;可当我蓦然回望,再也触摸不到那逝去的时光,再也看不到那夕阳下的少年!
分类:
Django_NOTES
, DRF_NOTES
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗