【问题标题】:Django Datatables from model模型中的 Django 数据表
【发布时间】:2016-07-26 18:52:47
【问题描述】:

我的 django 应用中有一个简单的模型,我将其显示为表格。我想将表更改为数据表。但是,即使按照 eh datatables.net 网站上列出的所有步骤,我似乎也无法将我的表转换为数据表:

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 和 datatable js CDN:

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

这似乎不起作用,我查看了开发人员工具中的控制台,没有列出任何错误。

【问题讨论】:

    标签: jquery python django datatable


    【解决方案1】:

    来自datatables manual

    要使 DataTables 能够增强 HTML 表格,表格必须是有效的、格式良好的 HTML,带有标题 (thead) 和正文 (tbody)。也可以使用可选的页脚 (tfoot)。

    因此您的表格缺少必需的 theadtbody 标记。

    【讨论】:

      【解决方案2】:

      除非您的表的 id 为 myTable,否则它将无法正常工作。看起来您应该将 jquery 选择器更改为 $('#users'),因为这是您在上面发布的代码中设置的表 ID。

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-01-27
          • 2012-12-22
          • 1970-01-01
          • 2015-06-14
          • 2020-11-19
          相关资源
          最近更新 更多