You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django模板Media图片无法显示(可URL访问)问题求助

解决方案

1. 修正模板循环变量名错误

模板中循环遍历的变量是a,但<img>标签里错误使用了未定义的x变量,导致无法正确获取图片URL。修改如下:

{% for a in Manga %}
    <div class="manga_container">
        <div class="manga_image">
            <p>{{a.manga_image}}</p>
            <img src="{{ a.manga_image.url }}" alt="{{ a.manga_name }}">
        </div>
    </div>
{%endfor%}

2. 移除.values()保留模型实例

视图中使用Manga.objects.all().values()返回的是字典列表,而非Manga模型实例。manga_image.url是ImageField字段的模型属性,字典仅存储字段的字符串路径,无法调用.url方法。修改视图代码:

def Index(request):
    manga = Manga.objects.all()  # 去掉.values(),返回模型实例集合
    chapter = Chapter.objects.all()
    fansub = Fansub.objects.all()

    context= {
        "Manga": manga,
        "Chapter": chapter,
        "Fansub": fansub,
    }

    template = loader.get_template("Index.html")

    return HttpResponse(template.render(context, request))

验证说明

你的MEDIA配置和URL映射是正确的(直接访问图片URL可正常显示),修改上述两处后,刷新页面即可看到图片加载正常。另外建议给<img>添加有意义的alt文本,提升页面可访问性。

内容的提问来源于stack exchange,提问作者PlatinMavi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 22:20:41