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

Django模板中用Three.js渲染3D模型遇404错误求助

Django中3D模型加载404问题的解决方案

核心问题原因

Django对静态资源的访问有严格的目录规范,你之前放置models目录的位置(templates目录或theme根目录)不属于Django默认的静态文件可访问路径,因此无法被前端请求到。

步骤1:调整模型目录位置

将models目录移动到theme/static目录下,最终项目结构如下:

home
   templates/home
      home.html
theme
   static
      js
         3d.js
      models
         eye
            scene.gltf

步骤2:修正JS中的模型加载路径

有两种可靠的修改方式:

方式一:通过模板标签传递静态URL(推荐)

在home.html中,引入3d.js前先定义全局静态URL变量:

<script>
    const STATIC_URL = "{% static '' %}";
</script>
<script src="{% static 'js/3d.js' %}"></script>

然后修改3d.js中的加载路径:

loader.load(
    `${STATIC_URL}models/${objToRender}/scene.gltf`,
    // 后续回调函数保持不变
);

方式二:直接使用静态文件根路径

如果你的Django项目settings.py中配置了STATIC_URL = '/static/',可以直接修改3d.js的路径:

loader.load(
    `/static/models/${objToRender}/scene.gltf`,
    // 后续回调函数保持不变
);

步骤3:确认静态文件配置(关键)

检查项目settings.py中的静态资源配置,确保包含theme/static目录:

STATIC_URL = '/static/'

# 开发环境下添加静态文件目录
STATICFILES_DIRS = [
    BASE_DIR / 'theme' / 'static',
]

验证

重启Django开发服务器,直接访问http://localhost:8001/static/models/eye/scene.gltf,如果能正常下载或预览模型文件,说明路径配置正确,此时前端页面即可成功加载3D模型。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 01:32:15