整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          讓Django ModelForm的ImageFiled顯示為縮略圖

          認情況下,django的ModelForm顯示的是圖片的路徑,其實并不友好。那么現在來修改一下,讓它顯示為一張縮略圖:

          在此之前,先打開源文件中的 widgets.py (site-packages/django/forms/widgets.py)看一下:

          class ClearableFileInput(FileInput):
              clear_checkbox_label = _('Clear')
              initial_text = _('Currently')
              input_text = _('Change')
              template_name = 'django/forms/widgets/clearable_file_input.html'

          看template_name的值,打開看一下:

          {% if widget.is_initial %}{{ widget.initial_text }}: <a href="{{ widget.value.url }}">{{ widget.value }}</a>{% if not widget.required %}
          <input type="checkbox" name="{{ widget.checkbox_name }}" id="{{ widget.checkbox_id }}">
          <label for="{{ widget.checkbox_id }}">{{ widget.clear_checkbox_label }}</label>{% endif %}<br>
          {{ widget.input_text }}:{% endif %}
          <input type="{{ widget.type }}" name="{{ widget.name }}"{% include "django/forms/widgets/attrs.html" %}>

          好像看不太懂,但又能看懂一部分,能看出來這就是imagefiled 的html代碼,現在將內容拷貝一下,創建一個自己的widgets, 在template文件夾中創建widget文件夾并在其中創建文件 ImageField.html, 將內容拷貝進去,并依葫蘆畫瓢改一下:

          {% if widget.is_initial %}{{ widget.initial_text }}: <img src="{{ widget.value.url }}" width="100" height="50"/>{% if not widget.required %}
          <input type="checkbox" name="{{ widget.checkbox_name }}" id="{{ widget.checkbox_id }}" lay-skin="primary">
          <label for="{{ widget.checkbox_id }}">{{ widget.clear_checkbox_label }}</label>{% endif %}<br>
          {{ widget.input_text }}:{% endif %}
          <input type="{{ widget.type }}" name="{{ widget.name }}"{% include "django/forms/widgets/attrs.html" %}>

          在應用中創建文件 ImageWidget.py 文件(可以放在應用中的任何包中)

          from django.forms.widgets import ClearableFileInput
          
          
          class ImageWidget(ClearableFileInput):
              template_name = 'widget/ImageField.html'
              tempate_with_clear = ''

          繼承ClearableFileInput, template_name 改成剛創建的html模版.

          在model form中使用:

          class NodesForm(ModelForm):
              class Meta:
                  model = Nodes
                  exclude = ('site','order_num', 'node_path', 'node_level', 'node_group')
                  # 如果有很多image字段,可以這樣
                  widgets_fields_dict = {k: ImageWidget for k in ("picture", "face_picture", "icon", 'icon_sel', "image1", 'image2', 'image3', 'image4')}
                  widgets = widgets_fields_dict

          下面看看效果:

          件簡介:

          Imagine – 適用于 Windows 的圖像瀏覽器

          該版特點:

          – 簡體中文語言跟進
          – 幫助文翻譯為件簡體中文
          – 快捷鍵設置優化(鼠標中鍵切換模式)
          – 集成多個增強格式插件(具體可看下面:集成插件)
          – 重新制作安裝包為 32Bit&64Bit 二合一版本
          – 語言精簡(保留韓文、簡體中文、繁體中文)
          – 還有更多強大的功能可使用插件實現
          (https://www.nyam.pe.kr/dev/imagine/)

          集成插件

          數碼相機原始圖像格式插件(3FR、ARW、CR2、CRW、DCR、DNG、ERF、KDC、MOS、MRW、NEF、ORF、PEF、RAF、RAW、SRW、SR2、X3F)
          JBIG 格式插件(JBG、JBIG)
          AVIF 格式插件(AVIF、AVIFS)
          Google WebP 格式插件(WEBP)
          SVG 可擴展矢量圖形圖像格式插件(SVG、SVGZ)

          軟件特點:

          – 查看并保存圖像/動畫文件
          – 支持眾多圖像/動畫文件格式:
          PNG,JPG,GIF,BMP,PCX,TGA,TIFF,ICO,CUR,LBM的,ANI,FLI,WMF,EMF等。
          [collapse]- 從動畫文件中提取單個/所有幀
          – 顯示圖像/動畫文件的詳細信息
          – 顯示 EXIF 信息
          – 顯示或隱藏透明度
          – 大量的壓縮文件格式的支持:
          ZIP, RAR, 7Z, ALZ, HV3, CBZ, CBR, CB7, ARJ, LZH, EGG, TAR, ISO, CAB, ETC。
          – 64 位版本
          – Unicode 版本
          – 多語言支持:英語,中國,德語,西班牙語,俄羅斯,丹麥,韓國,日本等。
          – 縮圖瀏覽器
          – 捕獲屏幕
          – 批量轉換
          – 幻燈片
          – 平鋪視圖(檢查無縫拼接的紋理,對于游戲開發商/游戲模組非常有用)
          – 創建動畫
          – 創建多個頁面的圖像
          – 操縱和編輯圖像:
          垂直翻轉和水平
          旋轉左,右和自由旋轉
          灰度
          負片
          更改顏色深度(1,4,8,16,24和32位)
          交換顏色
          調整每個像素,百分比或標準尺寸。
          幾個可用的重采樣過濾器。
          效過濾器,包括一個方便的預覽瀏覽器
          新增,保存和編輯調色板
          設置和刪除的透明度
          還有更多…
          – 可定制的快捷鍵為鍵盤和鼠標
          – 命令行參數的支持
          – 外殼擴展支持
          – 添加插件的支持
          – Total Commander 列表和壓縮插件
          – 不寫不必要的注冊表(基于INI文件的配置)
          – 完全優化的二進制代碼(微小,純凈,快速,整齊)[/collapse]

          更新日志:

          v1.1.5,2022 年 8 月 5 日
          – 新增:支持高 DPI

          下載地址:

          城通盤:https://url61.ctfile.com/d/12483661-24755207-68db44 訪問碼:3333
          123 盤:https://www.123pan.com/s/QdiA-y5pmh.html
          天翼云:https://cloud.189.cn/t/2YrQF3VB7f2i
          藍奏云:https://www.lanzoux.com/b00ztqb2j 密碼:aqpp

          截圖預覽:

          安裝界面

          瀏覽模式

          查看模式


          主站蜘蛛池模板: 亚洲一区动漫卡通在线播放| 国99精品无码一区二区三区| 香蕉视频一区二区三区| 在线观看免费视频一区| 亚洲综合av一区二区三区不卡 | 亚洲AⅤ无码一区二区三区在线 | 人妻夜夜爽天天爽一区| 无码欧精品亚洲日韩一区| 国产激情一区二区三区 | 制服美女视频一区| 波多野结衣AV一区二区三区中文| 少妇无码一区二区三区| 自慰无码一区二区三区| 中文字幕一区日韩在线视频 | 国产精品亚洲专区一区| 伊人久久精品无码麻豆一区| 久久国产精品无码一区二区三区 | 激情内射亚州一区二区三区爱妻| AV怡红院一区二区三区| 亚洲国产视频一区| 美女啪啪一区二区三区| 国产福利电影一区二区三区久久久久成人精品综合 | 在线精品国产一区二区三区| 久久一区二区精品综合| 色狠狠一区二区三区香蕉蜜桃| 国产福利一区二区精品秒拍| 无码一区二区三区视频| 一本大道东京热无码一区| 无码少妇一区二区浪潮av| 国产成人高清精品一区二区三区| 免费一本色道久久一区| 亚洲av无一区二区三区| 日本无卡码一区二区三区| 国99精品无码一区二区三区| 无码乱人伦一区二区亚洲一| 久久久精品人妻一区二区三区蜜桃| 亚洲一区二区三区香蕉| 亚洲蜜芽在线精品一区| 日本在线视频一区| 波多野结衣一区二区三区aV高清| 激情久久av一区av二区av三区|