Skip to main content

Pluggable application for Django that helps you to import/export fixtures via the administration interface

Project description

Django Smuggler is a pluggable application for Django Web Framework for you easily dump/load fixtures via the automatically-generated administration interface. Fixtures are collection of data that Django knows how to import into a database.

Smuggler is especially useful for transporting database data between production and development environments, but can also be used as a backup tool.

Project page

Installing & Setup

Smuggler is in the Python Package Index (PyPI) and you can easily install the latest stable version of it using the tools pip or easy_install. Try:

pip install django-smuggler


easy_install django-smuggler

Alternatively, you can install Smuggler from source code running the follow command on directory that contains the file

python install

After installation you need configure your project to recognizes the Smuggler application adding 'smuggler' to your INSTALLED_APPS setting and setup the project URLConf like follow:

urlpatterns = patterns('',
    # ...
    (r'^admin/', include('smuggler.urls')), # put it before admin url patterns
    (r'^admin/', include(,

Then try access these urls:

If you can access the URLs above, the application was setup correctly. Note that these URLs are accessible only by superusers.

Smuggler also provides a template to show buttons for dump and load data on change list page (change_list.html). You can setup the ModelAdmin you are interested like follow:

class ExampleAdmin(admin.ModelAdmin):
    change_list_template = 'smuggler/change_list.html'

Note: on directory “etc/sample_templates/” you have some template examples to put Smuggler’s buttons on app indexes and admin index page.


Smuggler has the following settings available. You can set them in your project If you doesn’t set them it will assume the default values:

List of models to be excluded from dump. Use the form ‘app_label.ModelName’. Default: [].
Saved files will be stored on this directory. The signal smuggler.signals.save_data_on_filesystem uses this value too. Default: None.
Format for dumped files. Any of the serialization formats supported by Django, json, xml and in some cases yaml. Default: ‘json’.
Indentation for dumped files. Default: 2.


Buttons on change_list.html:

buttons on change_list.html

Load form:

load form

Release notes

Version 0.5 (2014-08-21)

  • Added an option to specify a list of app labels to the /dump/ view
  • Improved test suite
  • Dropped Django 1.3 support
  • Preliminary Python 3 support

Version 0.4.1 (2013-11-12)

  • Changelist template is now Django 1.6 compatible

Version 0.4 (2013-04-01)

  • Django 1.5+ support;
  • Added German translation;
  • Added some tests.

Version 0.3 (2012-01-31)

  • Significant bug fixes and improvements when loading and exporting data;
  • Allow formats for import besides JSON and XML (aa105b3, needs documentation);
  • Added Dutch translation.

Version 0.2 (2011-08-19)

  • Django 1.2+ support;
  • Keep uploaded files as alternative choices to import (issues #1 and #6);
  • Vulnerability fixed (d73cec6);
  • Added Polish, Russian, Catalan and Brazilian Portuguese translations.

Version 0.1.1 (2010-01-20)

  • First stable version.

Backwards-incompatible changes

Since version 0.1

Renamed urls from import/export to load/dump to reflect recent changes (c276b07)


If you find any problems in the code or documentation, please take 30 seconds to fill out a issue here.

The contributing with code or translation is MUCH-APPRECIATED. Feel free to fork or send patchs.

You can translate this application to your language using Transifex. Access the project page on Transifex.

See the AUTHORS file for a complete authors list of this application.

Thanks to Interaction Consortium for sponsoring the first releases of the project.


You can run tests with your current version of python and django with:

cd /path/to/django-smuggler
python tests/

We use tox <> to test against multiple versions of python and django. Please run:

cd /path/to/django-smuggler

Copying conditions

Django Smuggler is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

Django Smuggler is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program; see the file COPYING.LESSER. If not, see

Project details

Release history Release notifications

History Node


History Node


History Node


History Node


History Node


This version
History Node


History Node


History Node


History Node


History Node


History Node


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
django_smuggler-0.5.0-py2.py3-none-any.whl (37.4 kB) Copy SHA256 hash SHA256 Wheel 2.7 Aug 21, 2014
django-smuggler-0.5.0.tar.gz (52.4 kB) Copy SHA256 hash SHA256 Source None Aug 21, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page