【发布时间】:2015-07-25 05:45:21
【问题描述】:
我有一个包含数千行的数据库表,并且正在开发一个 crud 管理网络应用程序。我正在使用数据表来显示所有行(查看全部)。当我使用数据表加载所有行时,加载页面需要大约 30 秒。我想使用 ajax 分页来避免它。
Python 代码:
我的用于从表中获取所有行的 python 函数如下所示
@companies.route('/list', methods=['GET'])
@requires_session_auth
def company_list():
try:
all_companies = Company.query.all()
return render_template('company_list.html', company=all_companies)
except:
logger.exception('Error rendering Company list.')
return redirect(url_for('index'))
HTML代码:
{% extends "base.html" %}
{% block subtitle %}Companies{% endblock %}
{% block content %}
<h2>Companies</h2>
<table id="datatable" class="display" cellspacing="0" width="100%">
<thead>
<tr>
<th align="center">Actions</th>
<th align="left">ID</th>
<th align="left">Label</th>
<th align="left">Company Name</th>
</tr>
</thead>
<tbody>
{% for image in images %}
<tr>
<td nowrap align="center">
<a href="">Edit</a>
<a href="" class="del_link">Delete</a>
</td>
<td nowrap align="left">{{ company.id }}</td>
<td nowrap align="left">{{ company.label }}</td>
<td nowrap align="left">{{ company.companyname }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endblock %}
{% block afterbody %}
<script>
$(document).ready(function () {
$('#datatable').dataTable({
stateSave: true
});
</script>
{% endblock %}
如何创建一个 python 函数来加载数据表上的前 10 行并单击分页按钮(第 2 页)它应该从 db 表中加载接下来的十个数据。如何在 html 中创建 python 函数和数据表。这是 php 中的示例分页 https://datatables.net/examples/server_side/simple.html。
【问题讨论】:
标签: jquery python datatable pagination flask-sqlalchemy