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

Vue.js无法加载Django媒体文件夹中图片的问题排查

问题分析与解决:Django+Vue图片可通过URL直接访问但页面不显示

本地运行的Django服务器正常启动,授权后的Vue页面能正常获取模型数据。页面审查可见img元素的URL解析正确,且该图片可直接通过此URL加载,但页面上图片无法显示,其他模型参数(如名称、价格)可正常加载。

相关代码

Django模型方法

def get_thumbnail(self):
        if self.thumbnail:
            return 'http:://127.0.0.1:8000/' + self.thumbnail.url
        else:
            if self.image:
                self.thumbnail = self.make_thumbnail(self.image)
                self.save()

                return 'http:://127.0.0.1:8000/' + self.thumbnail.url
            else:
                return ''

Vue图片加载代码

<figure class="image mb-4">
            <img v-bind:src="product.get_thumbnail" />
</figure>

Django媒体路径配置

MEDIA_URL = '/media/'
MEDIA_ROOT = BASE_DIR / 'media/'

问题定位

更新:已发现问题:图片src属性存在格式异常

解决方案

问题根源是Django模型方法返回的URL存在拼写错误——http:://多写了一个冒号,正确的URL格式应为http://(单冒号)。浏览器直接访问时可能自动修正该错误,但Vue绑定src时,格式错误会导致图片加载失败。

修正方案1:修正URL拼写

修改Django模型方法中的URL拼接部分,将'http:://127.0.0.1:8000/'改为'http://127.0.0.1:8000/':

def get_thumbnail(self):
        if self.thumbnail:
            return 'http://127.0.0.1:8000/' + self.thumbnail.url
        else:
            if self.image:
                self.thumbnail = self.make_thumbnail(self.image)
                self.save()

                return 'http://127.0.0.1:8000/' + self.thumbnail.url
            else:
                return ''

修正方案2:使用动态生成绝对URL(推荐)

避免硬写域名和端口,使用Django的request.build_absolute_uri生成完整URL,适配不同部署环境:

from django.http.request import HttpRequest

def get_thumbnail(self, request: HttpRequest):
        base_url = request.build_absolute_uri('/')
        if self.thumbnail:
            return base_url.rstrip('/') + self.thumbnail.url
        else:
            if self.image:
                self.thumbnail = self.make_thumbnail(self.image)
                self.save()
                return base_url.rstrip('/') + self.thumbnail.url
            else:
                return ''

调用该方法时需传入request对象,无需手动维护域名信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 08:20:50