如何将 Datatables 插件应用于呈现的 django-tables2?
How to apply Datatables plugin to a rendered django-tables2?
将 Datatables 插件实施到 'Django-tables2' 呈现的 table。
时出现问题
我是 Django 的初学者;我正在开发一个显示数据上传到数据库(postgresql)的应用程序,寻找通过普通 django CVB 渲染 table 大量数据的高时间解决方案,我找到了 django-tables2。
我已经能够实现它并显示渲染 table(加载速度有重要改进),此外,对于我所有的 tables,我已经实现了 'Datatables' 插件和一些聚合,但我还没有解释如何使它们与 django-tables2 渲染的 table 一起工作,就像那些与我所有其他数据 tables 一样(不是由 django-[=39 渲染) =]s2);直到现在,唯一部分起作用的部分是 CSS,但响应式和 colReorder 不起作用。
我试过按照官方文档的说明直接在模板中指定 'static' 文件路径,但它不起作用。
我正在使用的 HTML 模板继承自 'base' 模板,该模板实现所有 css/js 静态文件并覆盖数据所在的内容块 table 被渲染。
作为参考,我的代码是:
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 %}
尽管数据table 已呈现,但 'datatables' 插件中的某些元素未显示,如 'search' 框、'show xx entries' 框等
Other tables rendered with Datatables plugin
Table rendered with Django-tables2
与 django-tables2 提供的 table 模板相比,datatables 需要不同的 html 元素。我认为实现一个自定义模板派生自 the supplied templates 添加数据所需的元素tables 是可行的方法。
django-tables2 可能不是呈现数据的最佳解决方案tables-tables 不过,您是否研究过 django-datatables-view?
我知道django-datatables-view can directly be used to render table but if you really want to use the features of datatable using the plugins on top of django-table2,你可以这样写table.py
中的attrs
。
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 中使用数据表的理想方式,但玩得开心!
将 Datatables 插件实施到 'Django-tables2' 呈现的 table。
时出现问题我是 Django 的初学者;我正在开发一个显示数据上传到数据库(postgresql)的应用程序,寻找通过普通 django CVB 渲染 table 大量数据的高时间解决方案,我找到了 django-tables2。 我已经能够实现它并显示渲染 table(加载速度有重要改进),此外,对于我所有的 tables,我已经实现了 'Datatables' 插件和一些聚合,但我还没有解释如何使它们与 django-tables2 渲染的 table 一起工作,就像那些与我所有其他数据 tables 一样(不是由 django-[=39 渲染) =]s2);直到现在,唯一部分起作用的部分是 CSS,但响应式和 colReorder 不起作用。
我试过按照官方文档的说明直接在模板中指定 'static' 文件路径,但它不起作用。
我正在使用的 HTML 模板继承自 'base' 模板,该模板实现所有 css/js 静态文件并覆盖数据所在的内容块 table 被渲染。
作为参考,我的代码是:
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 %}
尽管数据table 已呈现,但 'datatables' 插件中的某些元素未显示,如 'search' 框、'show xx entries' 框等
Other tables rendered with Datatables plugin
Table rendered with Django-tables2
datatables 需要不同的 html 元素。我认为实现一个自定义模板派生自 the supplied templates 添加数据所需的元素tables 是可行的方法。
django-tables2 可能不是呈现数据的最佳解决方案tables-tables 不过,您是否研究过 django-datatables-view?
我知道django-datatables-view can directly be used to render table but if you really want to use the features of datatable using the plugins on top of django-table2,你可以这样写table.py
中的attrs
。
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 中使用数据表的理想方式,但玩得开心!