Skip to main content

Automates DRF APIs for Ant Design ProTable

Project description

Automates DRF APIs for Ant Design ProTable

drf_antd_protable automates DRF APIs for Ant Design ProTable, enabling seamless data handling with pagination, sorting, filtering, and searching support, while automatically generating frontend table configurations.

Installation

python3 -m pip install -U drf-antd-protable

Usage

1. use as viewsets

# views.py
from drf_antd_protable.viewsets import ProTableViewSet
from . import models, serializers

class MyTableViewSet(ProTableViewSet):
    queryset = models.QA.objects.all()
    serializer_class = serializers.QA_Serializer
# urls.py
from rest_framework.routers import DefaultRouter
from .views import MyTableViewSet

router = DefaultRouter()
router.register('demo_table', MyTableViewSet, basename='demo_table')

urlpatterns = [
    # ...
    path('', include(router.urls)),
    # ...
]

2. supporting columns configuration

  • hidden_fields
  • select_fields
  • sorter_fields
  • copyable_fields
  • not_search_fields
  • render_region_fields
  • render_compare_fields
  • verbose_name_map

example

class MyTableViewSet(ProTableViewSet):
    queryset = models.QA.objects.all()
    serializer_class = serializers.QA_Serializer

    hidden_fields = ['id']
    select_fields = ['department']
    sorter_fields = ['user', 'question']
    copyable_fields = ['anwser']
    not_search_fields = ['department']
    render_region_fields = ['size']
    render_compare_fields = ['count']
    verbose_name_map = {
        'size': '大小',
        'count': '数量',
    }

Endpoints

  • demo_table/columns/

  • demo_table/data/

  • demo_table/export/

Use in Frontend

import { ProTable } from '@ant-design/pro-components'
import { useRequest } from 'ahooks'
import { request } from '@umijs/max'

const DemoTable = () => {
    const columnsRequest = useRequest(async () => request('/api/demo_table/columns/'))

    return (
        <ProTable
            columns={columnsRequest.data}
            request={async (params, sorter, filter) => {
                const { current, pageSize, keyword, ...search } = params;
                const payload = {
                    sort: sorter,
                    filter: filter,
                    search: search,
                    globalSearch: keyword,
                };
                const data = await request('/api/demo_table/data/', {
                    method: 'POST',
                    data: payload,
                    params: { current, pageSize },
                })
                return data
            }}
        />
    )
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

drf_antd_protable-1.0.1.tar.gz (8.6 kB view details)

Uploaded Source

Built Distribution

drf_antd_protable-1.0.1-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

File details

Details for the file drf_antd_protable-1.0.1.tar.gz.

File metadata

  • Download URL: drf_antd_protable-1.0.1.tar.gz
  • Upload date:
  • Size: 8.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.8

File hashes

Hashes for drf_antd_protable-1.0.1.tar.gz
Algorithm Hash digest
SHA256 23bf4029e8f7d720f415ac6217a4e572eec7a3e239d354af3e1c2e68e1cbf09b
MD5 c70713133d32afc7d53eda1555ebcc91
BLAKE2b-256 7ad1348f7229ee508bf6c374979ede9f2fae58f7dc53760786ea746616515b9c

See more details on using hashes here.

File details

Details for the file drf_antd_protable-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for drf_antd_protable-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8dca1baa6a91fa5e6b70cec48ccd18b07e3dcb0d740de495f03d57f55e1c4611
MD5 aa2d5c3c719ad091b52ecfa7b389556e
BLAKE2b-256 c5615b2f413fc0cc22354ba7bf047f906ce57b0df9c3bdd4e0f3e1ab5921579d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page