2016-07-26 113 views
0

我在我的django应用程序中有一个简单的模型,我将其作为表格显示。我想将表格更改为数据表。然而,即使下面的ONT列出的所有步骤后诶datatables.net网站,我不能似乎我的表转换成一个DataTable:Django来自模型的数据表

models.py

from __future__ import unicode_literals 

from django.db import models 


    class Profile(models.Model): 
     name = models.CharField(max_length=128) 
     email = models.EmailField(null=False) 
     city = models.CharField(null=False, max_length=128) 

     def __unicode__(self): 
      return self.name 

views.py

from django.shortcuts import render 
from django.http import HttpResponse 
from vc4u.models import Profile 
# Create your views here. 

def index(request): 
    user_list = Profile.objects.order_by('name') 
    context_dict = {'user_list': user_list} 

    return render(request, 'index.html', context_dict) 

index.html

<div class="container"> 
    {% if user_list %} 
    <table class="table table-bordered table-striped" id="users"> 
    <tr> 
     <th>Name</th> 
     <th>Email</th> 
     <th>City</th> 
    </tr> 
    {% for users in user_list %} 
    <tr> 
     <td>{{ users.name }}</td> 
     <td>{{ users.email }}</td> 
     <td>{{ users.city }}</td> 
    </tr> 
    {% endfor %} 
    </table> 
    {% else %} 
    <strong>There are no users.</strong> 
    {% endif %} 
</div> 

我已经贴在CSS CDN页面的顶部和jQuery和数据表JS CDN页面的这个脚本的底部:

$(document).ready(function(){ 
    $('#users').DataTable(); 
}); 

这似乎并没有工作,我有一个在开发人员工具中查看控制台,并且没有列出任何错误。

回答

1

datatables manual

对于能够提高一个HTML表数据表,该表必须是有效的,以及格式化的HTML,具有报头(THEAD)和主体(TBODY)。可选脚注(tfoot)也可以使用。

因此您的表格缺少所需的theadtbody标签。

0

除非你的桌子上有一个ID为myTable,那么它不会起作用。它看起来像你应该改变你的jQuery选择器为$('#users'),因为这是你在上面的代码中设置的表ID。

+0

复制粘贴错误。固定 – Beginner

0

除了thr表中的thead和tbody注释之外,如果使用默认的数据表构造函数,Jquery数据表将自动按照第1列对表进行排序。

相关问题