使用three.js JSONloader在指定的URL上加载文件(Django)

时间:2013-10-27 22:41:22

标签: django three.js django-staticfiles file-organization

我正在尝试在Three.js中加载模型,但遇到了麻烦。我认为问题是加载器无法找到模型文件,但我不确定。

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

  • 静态
    • 管理员
      • JS
        • 模型
          • model_file.js
        • load_model.js
  • web_app_name
    • 模板
      • 的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>

当我在浏览器中检查结果时,它会查找文件“/index/model_file.js”。我需要它来代替文件“Static / admin / js / models / model_file.js”。

所以我的问题更加简洁:如何告诉THREE.JSONloader在当前页面之外的位置查找文件?如果无法做到这一点,我怎样才能让它正确加载模型?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

为模型文件使用更具描述性的网址?

相对一个

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

或绝对的

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

至少在调试方面会更容易。