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',)
上一篇:解决IDEA右侧maven不显示方法


下一篇:人民币符号¥在css和html正确显示