2017-11-23 9 views
1

현재 Django-CMS로 프로젝트의 navbar에서 작업 중이다.
나는이 프레임 워크와 언어에 상당히 익숙하다. 어리석은 질문이라면 유감스럽게 생각한다.
이것은 Django-cms 관리 인터페이스의 사용자 변경에 응답하는 두 번 드롭 다운을 가지고 있습니다. 어떤 작품. 일종의.


문제는 get_children이 작동하지 않습니다 (오류나 무언가, 어린이를 감지하지 않고 '드롭 다운 버튼'을 드롭 다운 버전이 아닌 것으로 표시 함)이지만 get_descendants가 작동한다는 것입니다.
하지만 두 번째 드롭 다운의 내용이 첫 번째 드롭 다운에 다시 표시됩니다.
그래서 get_children은 완벽하지 않습니다. 모두 대신 직접적인 자손 만 보여주기 때문입니다.get_children이 작동하지 않습니다. get_descendants가합니다. 그러나 나는 그것을 사용할 수 없다.

{% load cms_tags menu_tags sekizai_tags staticfiles%} 
{% load menu_tags %} 
{% for child in children %} 

     <!--non dropdown 1--> 
     {% if child.is_leaf_node %} 
      <li><a href="{{ child.get_absolute_url }}">{{child.get_menu_title }}</a></li> 
     {% endif %} 

     <!--dropdown 1--> 
     {% if not child.is_leaf_node or child.ancestor %} 
     <div class="dropdown"> 
      <li><a href="{{ child.get_absolute_url }}" class="dropbtn">{{child.get_menu_title }}<b class="caret"></b></a></li> 

      <!-- dropdown 1 content--> 
      {% if child.get_descendants %} 
       <div class="dropdown-content"> 
       {% for kid in child.get_descendants %} 

        <!--non dropdown 2--> 
        {% if kid.is_leaf_node %} 
        <li><a href="{{ kid.get_absolute_url }}">{{kid.get_menu_title }}</a></li> 
        {% endif %} 

         <!--dropdown 2 --> 
         {% if not child.is_leaf_node or child.ancestor %} 
         <li> 
          <a class="menu-has-sub">{{kid.get_menu_title }}<i class="fa fa-angle-down"></i></a> 
           <!-- dropdown 2 content--> 
           <ul class="sub-dropdown droppeddown"> 
            {% for baby in kid.get_descendants %} 
             <li><a href="{{ baby.get_absolute_url }}">{{baby.get_menu_title }}</a></li> 
            {% endfor %} 
           </ul> 
          </li> 
         {% endif %}  

       {% endfor %} 
      </div> 
       {% endif %} 
      </div> 

     {% endif %} 

{% endfor %} 

그래서 제 질문은 다음과 같습니다 * 왜 내가 get_children을 사용할 수 없습니다 : 내가 아이들

편집을 사용할 수없는 이유. 함수에서와 마찬가지.
여기에 아동 노동 금지.

+0

안녕하세요, 어디서 get_children을 보았습니까? 문서에서? – Paulo

+0

신택트 시트를 찾기 위해 googeling 할 때 그냥 보았습니다 : https://django-mptt.github.io/django-mptt/models.html 자손은 get_를 사용하므로 논리적으로 보입니다. 왜 notget_children입니까? –

답변

0

Nvm 고정되었습니다.

이 경우 구문은 get_children 대신 children이어야합니다. 위의 편집으로 인해 재미 있습니다.

이 작동하지 않습니다 :

어쨌든, 여기에 예입니다
{% for kid in child.get_children %}
이 작업 않습니다 {% for kid in child.children%}


는 희망이 다른 사람이 작은 투쟁을 갖는 데 도움이 될 것입니다.