最近遇到一个需求, 需要在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)

最新文章

  1. 基本shell编程【3】- 常用的工具awk\sed\sort\uniq\od
  2. 攻城狮在路上(贰) Spring(四)--- Spring BeanFactory简介
  3. DLL中传递STL参数(如Vector或者list等)会遇到的问题[转载]
  4. OnScrollListener分页加载
  5. hdu4352 XHXJ&#39;s LIS
  6. JQuery源码解析(十)
  7. Ubuntu中root用户和user用户的相互切换
  8. 使用seajs来引入js代码
  9. [CF]codeforces round#366(div2)滚粗记
  10. 使用git对unity3d项目进行版本控制
  11. BIOS与CMOS有什么区别
  12. git的初步使用---本地代码库的使用和提交
  13. 浅谈MVC
  14. MQTT Client library for C (MQTT客户端C语言库-paho)
  15. VMware中安装系统提示没有可用的映像(No image available)
  16. Nodejs一键实现微信内打开网页url自动跳转外部浏览器访问的功能
  17. cadence原理图设计
  18. SpringCloud(6)分布式配置中心Spring Cloud Config
  19. java 访问数据库
  20. Oracle Profile使用详解(转)

热门文章

  1. [LeetCode] 102. Binary Tree Level Order Traversal 二叉树层序遍历
  2. C# 迭代器与yield关键字
  3. Java非侵入式API接口即文档工具apigcc
  4. C++ 函数重载和参数的缺省值
  5. java json解析(转)
  6. 基于Laravel框架下使用守护进程supervisor实现定时任务(毫秒)
  7. c++小学期大作业攻略(四)任务系统+站内信
  8. Vagrant 安装Oracle19c RAC测试环境的简单学习
  9. 数据库的dml、ddl和dcl的概念
  10. 14、VUE服务器渲染