2015-12-18 23 views
5

Tôi mới sử dụng django. Tôi không thể hiển thị mẫu bằng hai hoặc từ điển đa cấp.Bên dưới là dạng xem và mã mẫu của tôi.mẫu django không hiển thị

mã từ view.py

myList = { 
    'ParentABC': { 
     'ABC' : '#' 
     } 
    } 
return render_to_response('index.html', myList) 

Tôi đã thử với hai mẫu khác nhau nhưng không có may mắn: Template1-

<ul class="collapsible collapsible-accordion"> 
     {% for eachCategory in myList %} 
     <li class="bold"><a class="collapsible-header waves-effect waves-teal">{{ eachCategory }}</a> 
       <div class="collapsible-body" style=""> 
       <ul> 
       {% for subCat in myList.eachCategory %} 
        <li><a href="#">{{ subCat }}</a></li> 
       {% endfor %} 
       </ul> 
       </div> 
     </li> 
     {% endfor %} 
     </ul> 

mẫu 2-

<ul class="collapsible collapsible-accordion"> 
    {% for category,value in myList.items %} 
    <li class="bold"><a class="collapsible-header waves-effect waves-teal">{{ category }}</a> 
      <div class="collapsible-body" style=""> 
      <ul> 
      {% for subcategory,value1 in value.items %} 
       <li><a href="#">{{ subcategory }}</a></li> 
      {% endfor %} 
      </ul> 
      </div> 
    </li> 
    {% endfor %} 
    </ul> 

sau khi render i luôn nhận được dưới html:

<ul class="collapsible collapsible-accordion"> 

     </ul> 

Hãy giúp tôi như vậy.

+0

xin vui lòng gửi các thiết lập của bạn. py cho phương tiện truyền thông – qasimalbaqali

+0

nó là defualt settings.py. Tôi chỉ thêm các dòng dưới đây vào settings.py vào các tệp tĩnh của máy chủ. STATICFILES_DIRS = \t [ \t \t \t BASE_DIR + '/ myproject/tĩnh /' \t \t \t \t] Tôi không chắc chắn như thế nào setting.py sẽ ảnh hưởng đến vấn đề của tôi. – virus

Trả lời

1

Sử dụng sau mẫu mã

myList = { 
     'myList' : { 
    'ParentABC1': { 
    'ABC' : '#', 
    'DEF' : '#' 
    }, 
    'ParentABC2': { 
    'ABC' : '#', 
    'DEF' : '#' 
    }, 
     } 

    } 

<ul class="collapsible collapsible-accordion"> 
     {% for eachCategory, value in myList.items %} 
     <li class="bold"><a class="collapsible-header waves-effect waves-teal">{{ eachCategory }}</a> 
       <div class="collapsible-body" style=""> 
       <ul> 
       {% for subCat in value %} 
        <li><a href="#">{{ subCat }}</a></li> 
     {% endfor %} 
     </ul> 
       </div> 
     </li> 
     {% endfor %} 
</ul> 
1

Sử dụng {% for key, value in object.iteritems %} nếu bạn muốn lặp trên một đối tượng với các phím và các giá trị, hoặc chỉ {% for value in object.items %}

Something như

<ul class="collapsible collapsible-accordion"> 
    {% for eachCategory, catValue in myList.iteritems %} 
    <li class="bold"><a class="collapsible-header waves-effect waves-teal">{{ eachCategory }}</a> 
      <div class="collapsible-body" style=""> 
      <ul> 
      {% for subCat in catValue.items %} 
       <li><a href="#">{{ subCat }}</a></li> 
      {% endfor %} 
      </ul> 
      </div> 
    </li> 
    {% endfor %} 
    </ul> 
+0

Các mẫu Django không hỗ trợ các đối số, do đó việc sử dụng '()' sẽ làm cho mẫu trả về thất bại. –

+0

Đang chỉnh sửa ... – jmbarbier

+0

@all - xin lỗi .. Tôi đã cung cấp cả hai mẫu giống nhau trong câu hỏi của mình. Tôi đã sử dụng mẫu gần giống như bạn đã cung cấp. Bạn có thể nhận được một số sai lầm ở đó không. – virus

Các vấn đề liên quan