This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

An admin action that allows you to export your models as CSV files without having to write a single line of code –besides installation, of course.


  • Easy installation
  • High level of customizability
  • Created with permissions in mind
  • Sane defaults


  • Python 2.7, 3.3+
  • Django >= 1.5

To install:

pip install django-exports

Next add django_exports to your INSTALLED_APPS to include the related css/js:

    # Other apps here


There are two django settings that you can use to configure who can use the export action:

# Use if you want to check user level permissions only users with the can_csv_<model_label>
# will be able to download csv files.
# Use if you want to disable the global django admin action. This setting is set to True by default.

Fields to export

By default, all of the fields available in a model ar ordered and exported. You can override this behavior at the admin model level. Define the following attribute in your AdminModel:

class ClientAdmin(CSVExportAdmin):
    csv_fields = ['first_name', 'last_name', 'email', 'phone_number',]


There are two ways to limit who can export data as CSV files.

Model level permissions: create a new model permission and assign it only to user who should have access to the export action in the admin.

class Client(models.Model):
class Meta:
permissions = ((“can_csv_client”, “Can export list of clients as CSV file”),)

AdminModel Level permissions: define a has_csv_permission and return True if a user should have access:

class ClientAdmin(admin.AdminModel):
    search_fields = ('name', 'id', 'email')
    csv_fields = ['name', 'id']

    def has_csv_permission(self, request):
        """Only super users can export as CSV"""
        if request.user.is_superuser:
            return True

Selective Installation

Sometimes, you don’t want to allow all of your admin models to be exported. For this, you will need to set DJANGO_CSV_GLOBAL_EXPORTS_ENABLED to False, and have your AdminModels extend our CSVExportAdmin admin class:

from django_csv_exports.admin import CSVExportAdmin

class ClientAdmin(CSVExportAdmin):

Running the Tests

You can run the tests with via:

python test


Release History

Release History


This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
django-django_csv_exports-1.0.0.tar.gz (4.8 kB) Copy SHA256 Checksum SHA256 Source Jul 10, 2015

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting