Django Admin 圖片路徑設置顯示為圖片(imageField顯示方法設置)


一  使用環境

  開發系統: windows

  IDE: pycharm  

  數據庫: msyql,navicat

  編程語言: python3.7  (Windows x86-64 executable installer)

  虛擬環境: virtualenvwrapper

  開發框架: Django 2.2

二  Django Admin 圖片路徑設置顯示為圖片(imageField顯示方法設置)

1.在 sttings.py 中設置

# 設置上傳圖片存儲路徑,所有上傳圖片自動存儲的到media文件下
MEDIA_ROOT = os.path.join(BASE_DIR, "media")  # 多媒體文件存放處
MEDIA_URL = "/media/"  # 這個會自動加在FileField的upload_to的前面

 2.在 urls.py 中設置

from django.contrib import admin
from django.urls import path, re_path
from django.views.static import serve
from A02CABJ import settings  # 自已項目中的settings
urlpatterns = [
    re_path(r'^media/(?P<path>.+)$', serve, {'document_root': settings.MEDIA_ROOT}),  # 圖片路徑設置
    path('admin/', admin.site.urls),
]

3. 在 admin.py 中設置方法

from django.utils.html import format_html  # models.py
from django.utils.safestring import mark_safe # imageField
@admin.register(Company)  # 自已注冊的admin
class CompanyAdmin(admin.ModelAdmin):
  # 方法一
    def logo(self, obj):  # imageField顯示方法設置,圖片路徑設為顯示圖片
        return mark_safe('<img src="%s" height="20" />' % obj.公司logo.url)

    # 方法二
    def logo1(self, obj):
        # 返回方法1
        # return format_html('<img src="{}" height="20" />', format(obj.公司logo.url))
        # 返回方法2
        return format_html('<img src="%s" height="20" />' % obj.公司logo.url)

    # 顯示頁面顯示字段設置,只有改變標記標記方法時,加入的字段才不加引號
    list_display = ('logo',  'logo1',)

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM