2016-08-09 119 views
0

我想從數據庫中獲取數據並使用django-python將其發送到html頁面。將數據從django發送到html

我在Python文件做什麼是

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

,而在HTML是

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

沒有被髮送到HTML文件。它不斷在其他區塊進行。 我不知道我在哪裏犯錯。請幫助我。

+0

從該視圖函數中顯示的'print(table_list)'是什麼? –

+0

它不工作。我正在使用django 1.9.9 –

+0

它顯示錯誤爲: 無法解析餘數:'(table_list)'from'print(table_list)' –

回答

0

到目前爲止,我們沒有看到student模型(這應該是在你的models.py並在vievs.py進口)和您的代碼不拋出任何異常看來你table_list是空的。迭代它,你可以使用內置的for ... empty模板標籤更方便的方法:

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

試試這個,看看會發生什麼。如果你發現自己在{% empty %}區塊 - 你的table_list是空的,它指向數據庫中的空表。

另請檢查docs爲該標籤。