Django开发环境下ImageField上传图片无法在模板中展示如何解决
开发环境Django图片显示完整配置步骤
- 第一步:修改模板中的图片引用路径
你现有模板的img标签没有调用ImageField的url属性,修改dashboard.html对应代码:
{% for plant in plants %} <p>/{{plant.plant_name}}</p> <img src="{{plant.plant_image.url}}" alt="Plant Image" width="250" height="250"> {% endfor %}
- 第二步:配置settings.py的媒体存储参数
在项目全局settings.py末尾添加如下配置:
# 媒体文件访问前缀 MEDIA_URL = '/media/' # 媒体文件本地存储根目录 MEDIA_ROOT = BASE_DIR / 'media'
- 第三步:配置全局urls.py的媒体路由
打开项目根目录的全局urls.py(不是你当前贴的应用内urls.py),修改为如下结构:
from django.conf import settings from django.conf.urls.static import static from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), # 替换为你自己的应用路由引入 path('', include('你的应用名.urls')), ] # 开发环境下暴露媒体文件访问路径 if settings.DEBUG: urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
- 第四步:检查依赖安装
ImageField需要Pillow库支持,未安装的话执行命令:pip install pillow
配置完成后重启开发服务即可正常显示图片。
内容的提问来源于stack exchange,提问作者Shaun Adams
相关产品推荐
相关产品推荐

