Skip to main content

:warning: Warning NonPaginatedXLSXRenderer does not work with newer versions of drf-renderer-xlsx. Please set your version of drf-renderer-xlsx to 0.3.8.

django-rest-framework-more

More Cool Django Rest Framework Stuff

install

pip3 install djangorestframework-more or pipenv install djangorestframework-more

features

NonPaginatedCSVRenderer and NonPaginatedXLSXRenderer

In case you want a CSV or XLSX (Excel) renderer that doesn't respect pagination:

# in settings.py
REST_FRAMEWORK = {
    'DEFAULT_RENDERER_CLASSES': [
        'rest_framework.renderers.JSONRenderer',
        'rest_framework.renderers.BrowsableAPIRenderer',
        'rest_framework_more.renderers.NonPaginatedCSVRenderer',
        'rest_framework_more.renderers.NonPaginatedXLSXRenderer'
    ]
}

If you'd like to learn more about using renderers in Django Rest Framework, see https://www.django-rest-framework.org/api-guide/renderers/#setting-the-renderers

Creater Model Serializer Class

# in serializers.py
from app.models import Car
from rest_framework_more.serializers import create_model_serializer_class

CarSerializer = create_model_serializer_class(model=Car)

Create Model Filter Form

# forms.py
from app.models import Car
from rest_framework_more.filters import create_model_filter_form

CarFilterForm = create_model_filter_form(model=Car)

Create Model Filter Set Class

# forms.py
from app.models import Car
from rest_framework_more.filters import create_model_filterset_class

CarFilterSet = create_model_filterset_class(model=Car)

Create Model ViewSet Class

# views.py
from app.models import Car
from rest_framework_more.viewsets import create_model_viewset_class

CarViewSet = create_model_viewset_class(model=Car)

FileNameMixin

The FileNameMixin automatically generates a more descriptive filename for CSV and Excel exports than the default "download". It first tries to convert the url path into a filename. If that doesn't succeed it tries to pull the filename from the queryset's model.

# views.py
from rest_framework_more.mixins import FileNameMixin

class CarViewSet(FileNameMixin, ReadOnlyModelViewSet):
...    

# if the CarViewSet is called from the url /api/cars it will generate a download filename of api_cars.csv

contact

If you have any issues, feel free to post an issue at https://github.com/DanielJDufour/django-rest-framework-more/issues or email the package author at daniel.j.dufour@gmail.com

Metadata

Release files for djangorestframework-more 1.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for djangorestframework-more 1.5.0
File Size Uploaded
djangorestframework-more-1.5.0.tar.gz 10.8 kB Details

Release files / djangorestframework-more-1.5.0.tar.gz

Download URL djangorestframework-more-1.5.0.tar.gz
Size 10.8 kB
Tags Source
SHA-256 checksum
How to use checksums
6ff41e8a8917541386fc0edd8883832bf034642fdf3b8990b039421ed8e7337f
BLAKE2b-256 checksum
How to use checksums
13820900be4e8e91334456c2ffb86017fd7c40bc478adfca4af383fc1b61002f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.2 readme-renderer/26.0 requests/2.24.0 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.49.0 importlib-metadata/4.0.1 keyring/21.4.0 rfc3986/1.4.0 colorama/0.4.3 CPython/3.8.5

Release history Release notifications | RSS feed

This release

1.5.0 This release

1 release file

1.4.0

1 release file

1.3.1

1 release file

1.3.0

1 release file

1.2.0

1 release file

1.1.0

1 release file

1.0.1

1 release file

1.0.0

1 release file

0.17.1

1 release file

0.17.0

1 release file

0.15.0

1 release file

0.14.0

1 release file

0.13.0

1 release file

0.12.0

1 release file

0.11.0

1 release file

0.10.0

1 release file

0.9.1

1 release file

0.9.0

1 release file

0.8.0

1 release file

0.7.0

1 release file

0.6.0

1 release file

0.5.0

1 release file

0.4.0

1 release file

0.3.0

1 release file

0.2.0

1 release file

0.1.0

1 release file

0.0.1

1 release file

0.0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page