首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将Datatables插件应用于渲染的django-tables2?

如何将Datatables插件应用于渲染的django-tables2?
EN

Stack Overflow用户
提问于 2019-01-20 04:03:36
回答 2查看 986关注 0票数 2

将Datatables插件实现到'Django-tables2‘渲染表时出现问题。

我是django的初学者;我正在开发一个显示数据上传到数据库(postgresql)的应用程序,寻找通过普通的django CVB渲染包含大量数据的表的解决方案,我找到了django-tables2。我已经能够实现它并显示渲染表(在加载速度上有一个重要的改进),另外,对于我所有的表,我已经实现了'Datatables‘插件和一些聚合器,但我还没有解释如何让它们与django-tables2渲染的表一起工作,就像那些与我所有的其他数据表(不是由django-tables2渲染的)一样;直到现在,唯一部分部分工作的是CSS,但是响应和colReorder不工作。

正如官方文档所解释的那样,我尝试在模板中直接指定“静态”文件路由,但它不起作用。

我正在使用的HTML模板继承了一个'base‘模板,它实现了所有css/js静态文件,并覆盖了一个内容块,其中是数据表呈现的位置。

作为参考,我的代码是:

代码语言:javascript
复制
Views.py

class Data_t_zq70(tables.Table):
    class Meta:
        model = datos
        attrs = {
            'class': 'table table-sm text-center table-striped table-
bordered table-hover id=dataTable'}
        fields = ['Insp_Lot', 'Description', 'Date', 'Material',
        'Batch', 'Mean_Valuation', 'Mean', 'Lower_Limit', 'Target',
        'Upper_Limit', 'Delvry_Quantity']
per_page = 10

class zq_70(LoginRequiredMixin, SingleTableView):
    model = datos
    table_class = Data_t_zq70
    template_name = 'data_list_zq70.html'
    login_url = 'base:login'

HTML Template:

{% extends 'base/base.html' %}
{% load static %}
{% load django_tables2 %}
{% block contenido %}
<div class="panel panel-info">
    <div class="panel-heading">
        <a href="{% url 'data:data_upload' %}" class="btn btn-
               info"><span class="fa fa-plus-circle"> <strong>
                              Cargar datos</strong></span></a>
    </div>
    <div class="panel-body">
                    {% render_table table %}
    </div>
</div>
{% endblock contenido %}

尽管数据表被渲染了,但“datatables”插件中的一些元素并没有像“搜索”框、“显示xx条目”框等那样显示出来。

Other tables rendered with Datatables plugin

Table rendered with Django-tables2

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-27 04:33:50

与django-tables2提供的表格模板相比,datatables需要不同的html元素。我认为实现一个从the supplied templates派生的自定义模板,添加数据表所需的元素是可行的。

django-tables2可能不是渲染数据表的最佳解决方案,但是,您研究过django-datatables-view

票数 1
EN

Stack Overflow用户

发布于 2020-10-20 01:55:44

我知道django-datatables-view可以直接用来渲染表格,但是如果你真的想通过django-table2上的插件来使用datatable的特性,这就是用attrs编写table.py的方法。

代码语言:javascript
复制
from django_tables2 import tables
from .models import MyModel

class MyModelTable(tables.Table):

    class Meta:
        model = MyModel

        # This is a hack for using datatable at the frontend
        attrs = {
            'id' : 'example',  #Rename the value to match with datatable id
            'class': 'display', #Change this class value according to the documentation
            'style': 'width:100%'
            } 

并将数据库特定的css/js包含到您的html模板中。

同样,这绝对不是在django中使用datatable的理想方式,但祝您玩得开心!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54270921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档