Automates DRF APIs for Ant Design ProTable
Project description
Automates DRF APIs for Ant Design ProTable
drf_antd_protableautomates 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_fieldsselect_fieldssorter_fieldscopyable_fieldsnot_search_fieldsrender_region_fieldsrender_compare_fieldsverbose_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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
23bf4029e8f7d720f415ac6217a4e572eec7a3e239d354af3e1c2e68e1cbf09b
|
|
| MD5 |
c70713133d32afc7d53eda1555ebcc91
|
|
| BLAKE2b-256 |
7ad1348f7229ee508bf6c374979ede9f2fae58f7dc53760786ea746616515b9c
|
File details
Details for the file drf_antd_protable-1.0.1-py3-none-any.whl.
File metadata
- Download URL: drf_antd_protable-1.0.1-py3-none-any.whl
- Upload date:
- Size: 8.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8dca1baa6a91fa5e6b70cec48ccd18b07e3dcb0d740de495f03d57f55e1c4611
|
|
| MD5 |
aa2d5c3c719ad091b52ecfa7b389556e
|
|
| BLAKE2b-256 |
c5615b2f413fc0cc22354ba7bf047f906ce57b0df9c3bdd4e0f3e1ab5921579d
|