1.modes.py内容:
内容(html代码): html_img = """ <a href='{}'><span>{}<span></a><br/>
<div onclick='$(".my_set_image_img").hide();$(this).next().show();'>
<img src='{}' style='width:50px;height:50px;'>
<br/>点击可看大图
</div>
<div class='my_set_image_img' onclick="$('.my_set_image_img').hide()" style="z-index:9999;position:fixed; left: 100px; top:100px;display:none;">
<img src='{}' style='width:500px; height:500px;'>
</div>""".format(self.splider_url,self.chapter_count,self.front_cover_img.url,self.front_cover_img.url)
from django.db import models from datetime import datetime from wanwenyc.settings import DJANGO_SERVER_YUMING from django.contrib.auth import get_user_model #导入get_user_model from testupdatadb.models import UpdateDbData #第三个就是我们自己创建的包 User = get_user_model() #get_user_model() 函数直接返回User类,找的是settings.AUTH_USER_MODEL变量的值 #书名 class SpiderHMBook(models.Model): splider_url = models.CharField(max_length=1500, default="",null=True, blank=True,verbose_name=u"爬取数据URL") #unique=True,表示设置此字段为主键,唯一 splider_title = models.CharField(max_length=1000, default="爬取漫画数据",null=True, blank=True, verbose_name=u"数据标题") img_height = models.CharField(max_length=100, default=75,null=True, blank=True, verbose_name=u"封面图高度") img_width = models.CharField(max_length=100, default=75, null=True, blank=True,verbose_name=u"封面图宽度") front_cover_img = models.ImageField(upload_to="hanman/fengmian/" , null=True, blank=True,verbose_name=u"封面图片", height_field='img_height',width_field='img_width',max_length=2000) chapter_count = models.CharField(max_length=100, default="", null=True, blank=True, verbose_name=u"章节数") def front_cover_img_data(self): #定义点击后跳转到某一个地方(可以加html代码) from django.utils.safestring import mark_safe #调用mark_safe这个函数,django可以显示成一个文本,而不是html代码 #html_img = "<a href='{}'><span>{}<span></a><br/><a href='{}/media/{}'> <img src='{}/media/{}' style='width:75px;height:75px;'/></a>".format(self.splider_url,self.chapter_count,DJANGO_SERVER_YUMING,self.front_cover_img,DJANGO_SERVER_YUMING,self.front_cover_img) html_img = """ <a href='{}'><span>{}<span></a><br/> <div onclick='$(".my_set_image_img").hide();$(this).next().show();'> <img src='{}' style='width:50px;height:50px;'> <br/>点击可看大图 </div> <div class='my_set_image_img' onclick="$('.my_set_image_img').hide()" style="z-index:9999;position:fixed; left: 100px; top:100px;display:none;"> <img src='{}' style='width:500px; height:500px;'> </div>""".format(self.splider_url,self.chapter_count,self.front_cover_img.url,self.front_cover_img.url) return mark_safe(html_img) # return "<a href='http://192.168.212.194:9002/testcase/{}/'>跳转</a>".format(self.id) front_cover_img_data.short_description = u"封面图片" #为go_to函数名个名字 class Meta: verbose_name = u"爬取的漫画书" verbose_name_plural=verbose_name def __str__(self): return self.splider_title
2.adminx.py中的代码(将model中的“front_cover_img_data”在xadmin列表页显示):
import xadmin from .modelshm import SpiderHMBook class SpiderHMBookAdmin(object): list_display =['front_cover_img_data',]#定义显示的字段 xadmin.site.register(SpiderHMBook, SpiderHMBookAdmin) #在xadmin中注册SpiderHMBook
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构