2016-10-12 6 views
0

У меня проблема с Django MPTT мои модели являетсяVariableDoesNotExist в/список/Failed поиска для ключевых [узлов] в U "[

class Catalog(MPTTModel): 
name = models.CharField(verbose_name='name',max_length=256,blank=True ) 
name_slug = models.CharField(verbose_name='Name_slug',max_length=250,blank=True) 
parent = TreeForeignKey('self',null=True,blank=True,related_name='children') 

class MPTTMeta: 
    order_insertion_by = ['name'] 
def __unicode__(self): 
    return u"%s %s %s " %(self.name,self.name_slug,self.parent) 
def __str__(self): 
    return u"%s %s %s " %(self.name,self.name_slug,self.parent 
    def get_absolute_url(self): 
     return reverse("catalog",kwargs={"slug":self.name_slug}) 

Теперь я использую MPTT в base.html, как это :

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

Однако, когда я иду на мою страницу с mptt дерева можно увидеть:

VariableDoesNotExist at /list/ 
Failed lookup for key [nodes] in u"[{'False': False, 'None': None, 'True': True}, {}, {}, {'places': <QuerySet [<Place: \u041b\u044c\u0432\u0456\u0432 lvv \u0441\u0456\u0456\u0441\u0441\u0456\u0441\u0456\u0456\u0441 list.Catalog.None >, <Place: \u0421\u043a\u0430\u043b\u0430\u0442 skalat \u0421\u043a\u0430\u043b\u0430\u0442 list.Catalog.None >]>}]" 

Можете ли вы сказать мне, где моя проблема?

+1

Можете ли вы поместить свой _views_ в вопрос? –

ответ

0

Не забывайте, что с примером {% recursetree nodes %}, nodes на самом деле является именем переменной шаблона категорий.

Так что если ваш views.py отправляет категории объекта в шаблон как categories, тогда вам нужно использовать {% recursetree categories %}.

В recursetree блоке node жестко закодирован в отдельный узел дерева и children является зашит для детей этого узла, но nodes это просто имя переменного примера шаблона.