Skip to main content

A django package to export data in a csv with File export.

Project description

# CSV Exporter

This Django package is a model exporter that can be run in a delayed task and emails a link to the resulting zip file containing a csv and all files.

## How to use

### To install the package

```
pip install django-csv-exporter
```

### To use the package

```
def export(query_or_queryset, attributes, callback=None, timedelta=datetime.timedelta(days=2)):
```

```
from datetime import timedelta
from functools import partial
from csv_exporter import export, send_email_to_user

users = UserProfile.objects.filter(team='myteam', active=True)
callback = partial(send_email_to_user, ['email1@gmail.com', 'email2@gmail.com'])
zip_url = export(users, ('full_name', 'profile_picture', 'team.name', 'date_joined.isoformat'), callback, timedelta(days=2))
```

The function `send_email_to_user` is a helper function to send the zip_url to the users. The callback to export needs to accept the parameters (zip_url, timedelta). Timedelta is a length of time the url is valid for. Expiration works only for django-storages using s3-boto, otherwise the regular url is returned.

### With Django RQ

```
import django_rq
django_rq.enqueue(export, users, ('full_name', 'profile_picture', 'team.name', 'date_joined.isoformat'), callback, timedelta(days=2))
# To save memory in redis you can also pass just the query instead of the QuerySet/list
django_rq.enqueue(export, users.query, ('full_name', 'profile_picture', 'team.name', 'date_joined.isoformat'), callback, timedelta(days=2))
```

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

django-csv-exporter-1.2.tar.gz (3.6 kB view details)

Uploaded Source

Built Distribution

django_csv_exporter-1.2-py2.py3-none-any.whl (5.6 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file django-csv-exporter-1.2.tar.gz.

File metadata

File hashes

Hashes for django-csv-exporter-1.2.tar.gz
Algorithm Hash digest
SHA256 c6861a2cfe1614115b3fff87734a1851fd98e99310aab66fb79ab9a337e01a74
MD5 597d67cab78393653d120de4e919d472
BLAKE2b-256 59c122a001b3c52ecda330f5ea792fb4d9b420cec4f44b5862af4fd7e2a50c51

See more details on using hashes here.

File details

Details for the file django_csv_exporter-1.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for django_csv_exporter-1.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 c926a350b0d1ecc1b228538a8d7151abf68805ada3434145a961c934c6ca2c12
MD5 0d73646214f7101f752ad1b5a79c197a
BLAKE2b-256 d3b25d93272a6726ccb0a1bba01c1c34cfb9d6109a2113dc4768262f5113d953

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