2015-12-18 12 views
5

Sono nuovo del django. Non sono in grado di eseguire il rendering di un modello utilizzando un dizionario a due o più livelli. Di seguito sono riportati il ​​mio codice di visualizzazione e modello.I modelli di django non vengono visualizzati

codice view.py

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

ho provato con due modelli diversi, ma senza fortuna: 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> 

modello 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> 

dopo il rendering i sto sempre ricevendo sotto HTML:

<ul class="collapsible collapsible-accordion"> 

     </ul> 

Per favore aiutatemi per lo stesso.

+0

si prega di inviare le impostazioni. py for the media – qasimalbaqali

+0

è defualt settings.py. Ho aggiunto solo le righe sottostanti a settings.py ai file statici del server. STATICFILES_DIRS = \t [ \t \t \t BASE_DIR + '/ myproject/static /' \t \t \t \t] io non sono sicuro di come setting.py influenzerà il mio problema. – virus

risposta

1

Uso di codice seguente

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

Usa {% for key, value in object.iteritems %} se si desidera iterare su un oggetto con le chiavi e valori, o semplicemente {% for value in object.items %}

Qualcosa di simile

<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

I template di Django non supportano gli argomenti quindi l'uso di '()' farà fallire il rendering del template. –

+0

Stavo modificando ... – jmbarbier

+0

@all - scusa .. Ho fornito entrambi i modelli nella mia domanda. Sto già usando quasi lo stesso modello che hai fornito. Sei in grado di ottenere un errore lì. – virus

Problemi correlati