Я пытаюсь загрузить модель Three JS в приложение Django (3.0.3) в локальной среде.
Шаблон:
<script>
var address_to_model ="{% static 'models/matilda/scene.gltf' %}"; // Pass this variable to .js file
</script>
<script src="{% static 'js/matilda.js' %}"></script>
matilda. js:
var loader = new THREE.GLTFLoader( );
loader.load( address_to_model, function ( gltf ) {
scene.add( gltf.scene );
}, undefined, function ( error ) {
console.error( error );
} );
renderer.outputEncoding = THREE.sRGBEncoding;
Страница загружается без какой-либо ошибки Django и показывает окно Three JS который работает, но модель не загружена, и в консоли ошибок Chrome я получаю эту ошибку:
GET http://127.0.0.1: 8000 / matilda / models / matilda / scene. gltf 404 (не найден)
Я думаю, что он не должен проверять этот URL, потому что я не разрешаю его в urls.py и в этом адресе ничего нет. Он должен загрузить модель, которая собирается в 'static / models / matilada', с помощью команды collectstati c.
Я проверяю эти ссылки, но они не помогают: * Django {% stati c 'path'%} в javascript файле * Правильный доступ к django stati c файлам из внешних javascript * Django: Внешний JS с использованием каркаса не загружается * https://pypi.org/project/django-js-urls/