圖片路徑設定顯示為圖片
阿新 • • 發佈:2021-06-11
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',)