Skip to main content

Django package that handles exporting of data

Project description

Django Rest Framework data export package that handles export/rendering to JSON, CSV, XLS, and HTML

Installation

pip install unicef-rest-export

Setup

Add unicef_rest_export to INSTALLED_APPS in settings

INSTALLED_APPS = [
    ...
    'unicef_rest_export',
]

Usage

A sample model view;

class AuthorView(ExportView):
    queryset = Author.objects.all()
    serializer_class = serializers.AuthorSerializer

A sample model viewset;

class AuthorViewSet(ExportViewSet):
    queryset = Author.objects.all()
    serializer_class = serializers.AuthorSerializer

To override or limit the renderers allowed, add EXPORT_RENDERERS to settings. The current default is;

EXPORT_RENDERERS = (
    "unicef_rest_export.renderers.ExportHTMLRenderer",
    "unicef_rest_export.renderers.ExportCSVRenderer",
    "unicef_rest_export.renderers.ExportJSONRenderer",
    "unicef_rest_export.renderers.ExportExcelRenderer",
)

The following is a sample of transforming data;

class AuthorTransformView(ExportView):
    queryset = Author.objects.all()
    serializer_class = serializers.AuthorSerializer

    def transform_books(self, data):
        return [d["name"] for d in data]

    def transform_dataset(self, dataset):
        dataset.add_formatter("books", self.transform_books)
        return dataset

Contributing

Environment Setup

To install the necessary libraries

$ make install

Coding Standards

See [PEP 8 Style Guide for Python Code](https://www.python.org/dev/peps/pep-0008/) for complete details on the coding standards.

To run checks on the code to ensure code is in compliance

$ make lint

Testing

Testing is important and tests are located in tests/ directory and can be run with;

$ make test

Coverage report is viewable in build/coverage directory, and can be generated with;

Thanks to

[django-rest-pandas](https://github.com/wq/django-rest-pandas) as a lot of the code was borrowed from that package.

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

unicef_rest_export-0.6.tar.gz (10.4 kB view hashes)

Uploaded Source

Built Distribution

unicef_rest_export-0.6-py2.py3-none-any.whl (8.9 kB view hashes)

Uploaded Python 2 Python 3

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