Django分类页面图片路径错误,如何修正图片查找路径?
问题:分类页面商品图片无法加载
点击分类后,页面可正常展示该分类下的所有商品,但图片无法显示。经排查,图片的实际请求路径为 <分类名称>/media/images/...,与预期的 /media/images/... 不符。
原因分析
分类页面的URL路径以分类名开头(例如点击Electronics分类后,路径为 /Electronics/),而模板中使用相对路径引用图片,浏览器会基于当前页面的URL拼接图片路径,导致查找位置错误。根路径下的index.html使用相同相对路径可正常显示,是因为其基础URL为网站根目录。
当前相关配置
- urls.py 路由配置:
path('<str:name>/', views.category, name='category') # 点击Electronics分类后路径为/Electronics/,因此图片会从/Electronics/media/images/...查找
- category.html 图片标签:
<img src=" media/{{ i.photo_upload }} " alt="">
解决方案
将category.html中的图片相对路径修改为绝对路径,在路径开头添加斜杠 /,确保浏览器从网站根目录开始查找图片:
<img src="/media/{{ i.photo_upload }}" alt="">
内容的提问来源于stack exchange,提问作者tices
相关产品推荐
相关产品推荐

