MPTT 오브젝트 및 {% recursetree %} 템플릿 태그 사용에 대한이 질문은 this one과 관련됩니다.recursetree 템플릿 태그 용 Django MPTT 모델에 사용자 정의 데이터를 추가하는 방법
내 장고 모델 :
from mptt.models import MPTTModel, TreeForeignKey
class myModel(MPTTModel):
myIntA = models.IntegerField(default=0)
myParent = TreeForeignKey('self', null=True, blank=True, related_name='children')
내보기 :
myModelList = myModel.objects.all()
for i in range(len(myModelList)):
myModelList[i].myIntB = i
return render(
request,
'myApp/myTemplate.html',
Context(
{
"myModels": myModelList,
}
)
)
위 법적인가? 각 myModel 객체에 myIntB 변수를 추가 한 것을 볼 수 있습니다. 그러나 아래 템플리트에서 myIntB를 인쇄하려고하면 아무 것도 표시되지 않습니다.
템플릿에서 myIntB에 어떻게 액세스합니까? 이 모델에 대해 정의한 필드가 아니며 원하는 모델도 아닙니다. 이 템플릿을 렌더링하는 동안이 추가 변수로 myModel을 확장하기 만하면됩니다. 문제는 어쨌든 recursetree 템플릿 태그로 볼 수 없다는 것입니다.
내 템플릿 :
{% load mptt_tags %}
<ul>
{% recursetree nodes %}
<li>
{{node.id}} {{node.myIntA} {{node.myIntB}}
{% if not node.is_leaf_node %}
<ul>
{{ children }}
</ul>
{% endif %}
</li>
{% endrecursetree %}
</ul>