Python
 Computer >> コンピューター >  >> プログラミング >> Python

【Django】django_tables2でモデルデータをページネーション付きテーブルとして直接表示する方法

この記事では、Djangoでモデルのデータをテーブル形式で表示する方法を解説します。HTMLの<table>タグは使わず、django_tables2というライブラリを活用します。このライブラリを使えば、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

# フォームを作るのと同じ要領で、テーブルクラスを定義します
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モデルをもとにテーブルクラスを作成し、そのテーブルとクエリセットを定義したビューを用意しています。querysetにはフィルタリング済みのクエリを指定することも可能です。また、テーブルを表示するためのテンプレートも指定しています。

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>
        # 以下の2行でテーブルを描画します
        {% load django_tables2 %}
        {% render_table table %}
    </body>
</html>

ここでは、デフォルトのデザイン(Material DesignのCSS・JS)を読み込み、django_tables2ライブラリのテンプレートタグを使って、views.pyで作成したテーブルを描画しています。

それでは、実際の出力結果を確認してみましょう。

出力結果

【Django】django_tables2でモデルデータをページネーション付きテーブルとして直接表示する方法

  1. 【簡単3ステップ】Excelのピボットテーブルからデータモデルを削除する方法

    Power Pivotは、複数のデータテーブルやテーブル間のリレーションシップを管理するための機能で、複数のテーブルにまたがるデータ分析を効率的に行うことができます。PowerPivotリボンから直接操作するか、ピボットテーブルを作成する際に、Excelのテーブルをデータモデルへ追加することが可能です。本記事では、Excelでピボットテーブルからデータモデルを削除する方法を、3つの簡単なステップと分かりやすい図解付きで解説していきます。Excelでピボットテーブルからデータモデルを削除する3つの手順ここでは、XYZグループの複数の営業担当者に関する情報を含むデータセットを使用します。営業担当者

  2. Excelのデータモデル活用術:3つのステップで複数テーブルを統合する方法

    Excelは膨大なデータを処理できる強力なツールですが、データモデル機能を活用していなければ、その真価を発揮できていないかもしれません。データモデルを使えば、共通の列を基準にテーブル間のリレーションシップ(関連付け)を作成し、複数のテーブルからデータを結合できます。この記事では、Excelのデータモデルの基本的な使い方を、わかりやすい手順とともに解説します。 理解を深めながら実際に練習したい方は、サンプルのExcelワークブックをダウンロードして、ご自身でも操作してみてください。 データモデルを使うメリット データモデルはバックグラウンドで動作し、ピボットテーブルなどのレポート機能を効率