xadmin列表頁圖片縮放(大圖小圖切換顯示)
阿新 • • 發佈:2020-08-09
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_modelfrom 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