Django – 直接將模型資料顯示到帶有排序和分頁功能的表格中


在這篇文章中,我們將學習如何在 Django 中建立一個表格來渲染模型資料。我們不會使用 HTML 的<table>標籤。我們將使用一個簡單的 Django 表格庫,它提供直接在表格中顯示 Django 模型資料並具有分頁功能。

示例

首先,建立一個專案和一個應用程式,並設定 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

# this class will create the table just like how we create forms
class SimpleTable(tables.Table):
   class Meta:
      model = Data

# this will render table
class TableView(tables.SingleTableView):
   table_class = SimpleTable
   queryset = Data.objects.all()
   template_name = "table_example.html"

在這裡,我們建立了一個模型資料的表格,然後是一個檢視,我們在其中定義了一個表格和一個查詢。我們可以在此處使用過濾器查詢和一個模板來顯示錶格。

建立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>
      # these two will render the table
      {% load django_tables2 %}
      {% render_table table %}
   </body>
</html>

在這裡,我們載入了一些預設樣式和django_tables2庫,然後渲染我們在檢視中建立的表格。

現在,讓我們檢查輸出。

輸出

更新於:2021年8月26日

2K+ 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.