用了 `ImageField` 上传图片Django **默认不开放 /media/ 路径访问**必须手动配置才能显示图片!

用了 ImageField 上传图片Django 默认不开放 /media/ 路径访问必须手动配置才能显示图片!

1. 在 settings.py 末尾添加(复制)

方法1:
MEDIA_URL = '/media/'
MEDIA_ROOT = BASE_DIR / 'media'

2. 打开项目根 urls.py,配置 media 路由

找到项目里的 urls.py(和 settings.py 同目录)
添加下面代码:

from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    path('admin/', admin.site.urls),
    path('smart/', include('smart.urls')),
]

# 加上这一行 → 允许访问 media 图片
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

方法2:

from django.contrib import admin
from django.views.static import serve
from django.conf import settings
from django.urls import path,include

urlpatterns = [
path('admin/', admin.site.urls),
path('smart/', include('smart.urls')),
path('media/path:path', serve, {'document_root': settings.MEDIA_ROOT}),
]

3. 重启 Django 服务

Ctrl + C
python manage.py runserver

总结

  1. settings.pyMEDIA_URL + MEDIA_ROOT
  2. urls.pystatic(...)
  3. 重启服务
posted @ 2026-05-15 21:32  ham0921  阅读(12)  评论(0)    收藏  举报