Я хочу рендерить файлы .obj и .mtl в моем проекте Django, используя Aframe.То, чего я пытаюсь добиться, - это ввести какой-то пользовательский ввод, например «Apple», и затем на экране отобразится объект apple.Теперь, когда я жестко кодирую свой URL для статического файла, я получаю визуализированный объект.Но когда я передаю URL в словаре после добавления ввода в URL, объект не отображается.Запрос для например: Apple.Мой словарь имеет следующий формат:
dict = {0 :['education/Apple.obj','education/Apple.mtl']}
Мои views.py:
from django.http import HttpResponse
from django.template import loader
def viser(request):
template = loader.get_template('education/viser.html')
context = {}
context[0] = []
context[0].append("'education/Apple.obj'")
context[0].append("'education/Apple.mtl'")
query = request.POST.get('inputquery', False)
if query:
template2 = loader.get_template('education/DOG.html')
return HttpResponse(template2.render(context, request))
return HttpResponse(template.render(context, request))
Закодированный DOG.html:
<html>
<head>
<script src="https://aframe.io/releases/0.8.0/aframe.min.js"></script>
</head>
<body>
<a-scene>
{% load static %}
<a-entity obj-model="obj: {% static 'education/Apple.obj' %}; mtl: {% static 'education/Apple.mtl' %};" ></a-entity>
<a-entity position="0 70 150">
<a-camera></a-camera>
</a-entity>
</a-scene>
</body>
</html>
Динамический DOG.html
<html>
<head>
<script src="https://aframe.io/releases/0.8.0/aframe.min.js"></script>
</head>
<body>
<a-scene>
<a-sky color="#6EBAA7"></a-sky>
{% load static %}
{% for classlabel, value in context.items %}
<a-entity obj-model="obj: {% static value.0 %}; mtl: {% static value.1 %};" ></a-entity>
{% endfor %}
<a-camera position="0 0 0" look-controls wasd-controls="acceleration:1000">
<a-cursor color="yellow"></a-cursor>
</a-camera>
</a-scene>
</body>
</html>
Одна особенность, которую я заметил во время отладки, заключалась в том, что всякий раз, когда я пытался выполнить цикл for в жестко закодированном файле DOG.html, он не давал браузеру отображать объект, но когда я избавлялся от for иendfor теги, я получил визуализированный объект.Является ли цикл for причиной каких-либо проблем в программе?
Свойство DOG.html: не отображает объект
<a-scene>
{% load static %}
{% for index, value in context.items %}
<a-entity obj-model="obj: {% static 'education/Apple.obj' %}; mtl: {% static 'education/Apple.mtl' %};" ></a-entity>
{% endfor %}
</a-scene>
Свойство DOG.html после удаления for и endfor: Отображает объект
<a-scene>
{% load static %}
<a-entity obj-model="obj: {% static 'education/Apple.obj' %}; mtl: {% static 'education/Apple.mtl' %};" ></a-entity>
</a-scene>