直接将模型数据显示到表格中,并进行排序和分页的Django
在本文中,我们将看到如何在Django中制作一个表格,用于呈现模型数据。我们不会使用html中的 **
<
table> ** 标签。我们将使用一个简单的Django表格库,该库提供了直接在表格中显示Django模型数据的功能,并带有分页功能。
更多Python相关文章,请阅读:Python 教程
示例
首先,创建一个项目和应用程序,并设置URL。
安装 django_tables2 包 –
pip install django_tables2
在 settings.py 中 –
INSTALLED_APPS+=["django_tables2"]
在 models.py 中,为测试创建一个简单的模型 –
from django.db import models
# Create your models here.
class Data(models.Model):
Name=models.CharField(max_length=100)
salary = models.CharField(max_length=20)
在 urls.py, 添加一个URL并呈现表格视图 –
from django.urls import path
from . import views
urlpatterns = [
path('table',views.TableView.as_view(),name='table')
]
现在,在 views.py 中,添加以下行 –
from .models import Data
# Create your views here.
import django_tables2 as tables
# 该类将创建像创建表单一样的表格
class SimpleTable(tables.Table):
class Meta:
model = Data
# 这将呈现表格
class TableView(tables.SingleTableView):
table_class = SimpleTable
queryset = Data.objects.all()
template_name = "table_example.html"
在这里,我们创建了模型Data的表格,然后定义了一个表格和一个查询的视图。我们可以在这里使用过滤查询和一个模板,其中我们将展示表格。
创建 templates 文件夹,并将 table_example.html 添加到其中,并添加以下行 –
{% include 'material/includes/material_css.html' %}
{% include 'material/includes/material_js.html' %}
<!DOCTYPE html>
<html>
<head>
<title>TUT</title>
</head>
<body>
# 这两个将呈现表格
{% load django_tables2 %}
{% render_table table %}
</body>
</html>
在这里,我们加载了一些默认设计和 django_tables2 库,然后呈现了我们在视图中制作的表格。
现在,让我们继续检查输出。