Computer >> Máy Tính >  >> Lập trình >> Python

Django - Hiển thị dữ liệu mô hình trực tiếp vào bảng với sắp xếp và phân trang

Trong bài viết này, chúng ta sẽ xem cách tạo một bảng trong Django sẽ hiển thị dữ liệu mô hình. Chúng tôi sẽ không sử dụng

thẻ của html. Chúng tôi sẽ sử dụng một thư viện bảng Django đơn giản, cung cấp các tính năng để hiển thị trực tiếp dữ liệu mô hình Django trong một bảng với tính năng phân trang.

Ví dụ

Trước hết, hãy tạo một dự án và một ứng dụng và thiết lập các url.

Cài đặt django_tables2 gói -

pip install django_tables2

Trong settings.py -

INSTALLED_APPS+=["django_tables2"]

Trong models.py , tạo một mô hình đơn giản để thử nghiệm -

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)

Trong urls.py, thêm url và hiển thị chế độ xem bảng -

from django.urls import path
from . import views

urlpatterns = [
   path('table',views.TableView.as_view(),name='table')
]

Hiện có trong views.py , thêm các dòng sau -

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"

Ở đây, chúng tôi đã tạo một bảng Dữ liệu mô hình và sau đó là một dạng xem nơi chúng tôi xác định một bảng và một truy vấn. Chúng tôi có thể sử dụng các truy vấn bộ lọc tại đây và một mẫu mà chúng tôi sẽ hiển thị bảng.

Tạo mẫu thư mục và thêm table_example.html trong đó có các dòng sau -

{% 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>

Tại đây, chúng tôi đã tải một số thiết kế mặc định và django_tables2 thư viện và sau đó hiển thị bảng mà chúng tôi đã tạo trong các dạng xem.

Bây giờ, hãy tiến hành kiểm tra đầu ra.

Đầu ra

Django - Hiển thị dữ liệu mô hình trực tiếp vào bảng với sắp xếp và phân trang