1. 程式人生 > 實用技巧 >xadmin列表頁圖片縮放(大圖小圖切換顯示)

xadmin列表頁圖片縮放(大圖小圖切換顯示)

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