Использование three.js JSONloader для загрузки файла по указанному URL (Django)

Я пытаюсь загрузить модель в 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);

Я загружаю это в файл index.html через статическую загрузку django:

{% 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 ответ

Решение

Использовать более информативный URL для вашего файла модели?

Либо относительный

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

Или абсолютный

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

Отладка будет легче, по крайней мере.

Другие вопросы по тегам