Django-mptt не перечисляет имена в шаблонах

#python #python-3.x #django #django-views #django-templates

#питон #python-3.x #джанго #django-представления #django-шаблоны

Вопрос:

я использую библиотеку django-mptt для построения дерева категорий. когда я помещаю приведенный ниже код в свой шаблон, я получаю эту ошибку.

index.html

 {% load mptt_tags %}{% load mptt_tags %}
<ul class="root">
    {% recursetree nodes %}
        <li>
            {{ node.name }}
            {% if not node.is_leaf_node %}
                <ul class="children">
                    {{ children }}
                </ul>
            {% endif %}
        </li>
    {% endrecursetree %}
</ul>
 

это ошибка, которую я получаю.

 VariableDoesNotExist at /

Failed lookup for key [nodes] in [{'True': True, 'False': False, 'None': None}, {}, {}, {'listing': <TreeQuerySet [<Category: Clothes>, <Category: Children Clothes>, <Category: Mens Clothes>, <Category: Womens Clothes>, <Category: Electronics>, <Category: Foods>]>}]
 

view.py

индекс определения (запрос): список=Категория.объекты.все()

 context={
    'listing':listing
}
return render(request,'catalog/index.html',context)
 

Ответ №1:

Имя вашей переменной шаблона listing , а не nodes :

 {% load mptt_tags %}
<ul class="root">
    {% recursetree listing %}
        …
    {% endrecursetree %}
</ul>