2016-08-09 39 views
0

Ich möchte Daten aus der Datenbank abrufen und diese mit html-Seite mit django-python versenden.Daten von django an html senden

Was in Python-Datei ist ich tue

def module1(request): 
    table_list=student.objects.all() 
    context={'table_list' : table_list}  
    return render(request,'index.html',context) 

Und in html ist

<div class="rightbox"> 
      In right box. data is :<br> <br>    
     {% if table_list %} 
     <ul> {% for item in table_list %} 
       <li>{{ item.name }}</li> 
       <li>{{ item.address }}</li> 
       <li>{{ item.mob_no }}</li> 

       {% endfor %} 
     </ul> 
     {% else %} 
      <p>somethings is wrong</p> 
     {% endif %} 

     </div> 

Nichts wird auf HTML-Datei gesendet. Es geht ständig in sonst Block. Ich weiß nicht, wo ich Fehler mache. Bitte helfen Sie mir.

+0

Was zeigt 'print (table_list)' von dieser Ansichtsfunktion? –

+0

Es funktioniert nicht. Ich benutze django 1.9.9 –

+0

Es zeigt Fehler als: Der Rest konnte nicht analysiert werden: '(table_list)' von 'print (table_list)' –

Antwort

0

So weit wir alle Ausnahmen nicht werfen sehen Ihr student Modell und Code (in Ihrem models.py und importiert werden, die in ihrem vievs.py sein sollen) nicht so scheint es, dass Ihre table_list leer. Iterieren es in bequemer Weise können Sie in for ... empty Template-Tag gebaut werden, benutzen:

<div class="rightbox"> 
    In right box. data is :<br> <br>    
    <ul> 
    {% for item in table_list %} 
     <li>{{ item.name }}</li> 
     <li>{{ item.address }}</li> 
     <li>{{ item.mob_no }}</li> 
    {% empty %} 
     <p>somethings is wrong</p> 
    {% endfor %} 
    </ul> 
</div> 

Versuchen Sie dies und sehen, was passiert. Wenn Sie sich in {% empty %} Block finden - Ihre table_list ist leer, was auf leere Tabelle in der Datenbank zeigt.

Überprüfen Sie auch docs für dieses Tag.