第一步在setting.py中添加:
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
在setting.py中的TEMPLATES中添加'django.template.context_processors.media'
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')]
,
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
'django.template.context_processors.media',
],
},
},
]
进入到urls.py中,添加:
from django.views.static import serve
from contract_manage.settings import MEDIA_ROOT
urlpatterns = [
re_path('media/(?P<path>.*)', serve, {"document_root": MEDIA_ROOT})
]
3.然后在HTML页面中的img地址中这样写(注意 一定要给文件名加引号。因为这个问题我浪费了半个多小时):
<img src="{{ MEDIA_URL }}{{ 'default.jpg' }}" class="img-circle" alt="用户图像">
这样 就可以正常显示了