Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用three.js JSONloader以指定url(Django)加载文件_Django_Three.js_Django Staticfiles_File Organization - Fatal编程技术网

使用three.js JSONloader以指定url(Django)加载文件

使用three.js JSONloader以指定url(Django)加载文件,django,three.js,django-staticfiles,file-organization,Django,Three.js,Django Staticfiles,File Organization,我试图在Three.js中加载一个模型,但遇到了问题。我认为问题在于加载程序无法找到模型文件,但我不确定 以下是我的文件层次结构: 静止的 管理员 js 模型 model_file.js load_model.js 网络应用程序名称 模板 index.html 我在load_model.js中有以下代码: var loader = new THREE.JSONLoader( ); var onGeometry = function(geom, mats) {

我试图在Three.js中加载一个模型,但遇到了问题。我认为问题在于加载程序无法找到模型文件,但我不确定

以下是我的文件层次结构:

  • 静止的
    • 管理员
      • js
        • 模型
          • model_file.js
        • load_model.js
  • 网络应用程序名称
    • 模板
      • index.html
我在load_model.js中有以下代码:

var loader = new THREE.JSONLoader(  );
var onGeometry = function(geom, mats) {
    var mesh = new THREE.Mesh( geom, new THREE.MeshFaceMaterial( mats ) );
    scene.add(mesh);
};
var model_url = "model_file.js";
loader.load(model_url, onGeometry);
我通过django load static将其加载到index.html文件中:

{% load static from staticfiles %}
    <script src={% static "admin/js/load_model.js" %}></script>
{%loadstaticfromstaticfiles%}
当我在浏览器中检查结果时,它会查找文件“/index/model_file.js”。我需要它来查找文件“Static/admin/js/models/model_file.js”

因此,我的问题更简洁地说是:如何告诉THREE.JSONloader在当前页面之外的位置查找文件?如果这是不可能的,我如何让它正确加载模型


感谢您的帮助。

是否为您的模型文件使用更具描述性的url

不是亲戚

var model_url = ".models/model_file.js";
还是绝对的

var model_url = "/admin/js/models/model_file.js";

至少调试起来会更容易。

我找到了它,这或多或少就是我使用的解决方案。谢谢你的帮助。