将数据从django发送到html

时间:2016-08-09 07:11:14

标签: python html django

我想从数据库中获取数据并使用django-python将其发送到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文件。它经常进入其他区块。 我不知道我在哪里弄错了。请帮助我。

1 个答案:

答案 0 :(得分: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是否有此标记。