Django Smuggler is a pluggable application for Django Web Framework that helps you to import/export fixtures via the automatically-generated administration interface.

Overview

Django Smuggler

https://travis-ci.org/semente/django-smuggler.svg?branch=master https://coveralls.io/repos/semente/django-smuggler/badge.png?branch=master

Django Smuggler is a pluggable application for Django Web Framework to easily dump/load fixtures via the automatically-generated administration interface. A fixture is file with model data serialized to e.g. JSON or XML that Django knows how to import to the 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
http://github.com/semente/django-smuggler
Translations
https://www.transifex.com/projects/p/django-smuggler/

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

or:

easy_install django-smuggler

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

python setup.py 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 = [
    # ...
    path('admin/', include('smuggler.urls')),  # before admin url patterns!
    path('admin/', admin.site.urls),
]

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'
    ...

Settings

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

SMUGGLER_EXCLUDE_LIST
List of models to be excluded from dump. Use the form 'app_label.ModelName'. Default: [].
SMUGGLER_FIXTURE_DIR
Uploaded fixtures are stored in this directory (if requested). Default: None.
SMUGGLER_FORMAT
Format for dumped files. Any of the serialization formats supported by Django, json, xml and in some cases yaml. Default: 'json'.
SMUGGLER_INDENT
Indentation for dumped files. Default: 2.

Screenshots

Buttons on change_list.html:

buttons on change_list.html

Load form (with SMUGGLER_FIXTURE_DIR configured):

load form

Release notes

Version 1.0.2 (2020-09-28)

  • Support Django 3.1

Version 1.0.1 (2020-05-15)

  • Fix Python packaging setup

Version 1.0.0 (2020-04-20)

  • Support Django 3.0
  • Drop support for Python < 3.6 and Django < 2.2

Version 0.9.1 (2018-11-05)

  • Support Django 2.1

Version 0.9.0 (2018-03-22)

  • Support Django 2.0
  • Drop support for Django < 1.10

Version 0.8.0 (2016-11-09)

  • Support Django 1.10

Version 0.7.0 (2016-02-25)

  • Support Django 1.8
  • Support Django 1.9
  • Drop support for Django < 1.7
  • Drop support for Python < 2.7

Version 0.6.1 (2015-11-25)

  • Increase Django 1.7 compatibilty by supporting use_natural_foreign_keys and use_natural_primary_keys arguments for dumpdata

Version 0.6 (2014-09-18)

  • HTML5 multiple file upload is now supported for fixture uploads
  • Support loading fixtures from SMUGGLER_FIXTURE_DIR and upload at the same time
  • Recognize fixtures with upper case file extension correctly
  • Loading fixtures now uses loaddata management command
  • Removed signals.py
  • Removed sample templates
  • Cleaner code and better tests :-)

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

  • Removed AdminFormMixin (Version 0.7)
  • Removed signals.py (Version 0.6)
  • Renamed urls from import/export to load/dump (Version 0.1)

Contributing

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 patches.

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.

Tests

If you are contributing to django-smuggler we recommend setting up a virtualenv and running:

pip install -r test-requirements.txt

You can then run the tests with:

make tests

Before submitting a pull request please test against our supported versions of Python and Django by running:

tox

To see if you need to add tests we use coverage. You can generate a coverage report with:

make coverage

To check if your code follows the style guide you can run:

make lint

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 http://www.gnu.org/licenses/.

Owner
semente
semente
Jet Bridge (Universal) for Jet Admin – API-based Admin Panel Framework for your application

Jet Bridge for Jet Admin – Admin panel framework for your application Description About Jet Admin: https://about.jetadmin.io Live Demo: https://app.je

Jet Admin 1.3k Dec 27, 2022
Extendable, adaptable rewrite of django.contrib.admin

django-admin2 One of the most useful parts of django.contrib.admin is the ability to configure various views that touch and alter data. django-admin2

Jazzband 1.2k Dec 29, 2022
BitcartCC is a platform for merchants, users and developers which offers easy setup and use.

BitcartCC is a platform for merchants, users and developers which offers easy setup and use.

BitcartCC 270 Jan 07, 2023
Video Visual Relation Detection (VidVRD) tracklets generation. also for ACM MM Visual Relation Understanding Grand Challenge

VidVRD-tracklets This repository contains codes for Video Visual Relation Detection (VidVRD) tracklets generation based on MEGA and deepSORT. These tr

25 Dec 21, 2022
Firebase Admin Console is a centralized platform for easy viewing and maintenance of Firestore database, the back-end API is a Python Flask app.

Firebase Admin Console is a centralized platform for easy viewing and maintenance of Firestore database, the back-end API is a Python Flask app. A starting template for developers to customize, build

Daqi Chen 1 Sep 10, 2022
Code to reproduce experiments in the paper "Task-Oriented Dialogue as Dataflow Synthesis" (TACL 2020).

Code to reproduce experiments in the paper "Task-Oriented Dialogue as Dataflow Synthesis" (TACL 2020).

Microsoft 274 Dec 28, 2022
StyleCLIP: Text-Driven Manipulation of StyleGAN Imagery

StyleCLIP: Text-Driven Manipulation of StyleGAN Imagery

3.3k Jan 01, 2023
Passhunt is a simple tool for searching of default credentials for network devices, web applications and more. Search through 523 vendors and their 2084 default passwords.

Passhunt is a simple tool for searching of default credentials for network devices, web applications and more. Search through 523 vendors and their 2084 default passwords.

Viral Maniar 1.1k Dec 31, 2022
手部21个关键点检测,二维手势姿态,手势识别,pytorch,handpose

手部21个关键点检测,二维手势姿态,手势识别,pytorch,handpose

Eric.Lee 321 Dec 30, 2022
PyTorch Implementation of Unsupervised Depth Completion with Calibrated Backprojection Layers (ORAL, ICCV 2021)

PyTorch Implementation of Unsupervised Depth Completion with Calibrated Backprojection Layers (ORAL, ICCV 2021)

80 Dec 13, 2022
Extendable, adaptable rewrite of django.contrib.admin

django-admin2 One of the most useful parts of django.contrib.admin is the ability to configure various views that touch and alter data. django-admin2

Jazzband 1.2k Dec 29, 2022
xarray: N-D labeled arrays and datasets

xarray is an open source project and Python package that makes working with labelled multi-dimensional arrays simple, efficient, and fun!

Python for Data 2.8k Dec 29, 2022
An administration website for Django

yawd-admin, a django administration website yawd-admin now has a live demo at http://yawd-admin.yawd.eu/. Use demo / demo as username & passowrd. yawd

Pantelis Petridis 140 Oct 30, 2021
A new style for Django admin

Djamin Djamin a new and clean styles for Django admin based in Google projects styles. Quick start Install djamin: pip install -e git://github.com/her

Herson Leite 236 Dec 15, 2022
django-admin fixture generator command

Mockango for short mockango is django fixture generator command which help you have data without pain for test development requirements pip install dj

Ilia Rastkhadiv 14 Oct 29, 2022
Lazymux is a tool installer that is specially made for termux user which provides a lot of tool mainly used tools in termux and its easy to use

Lazymux is a tool installer that is specially made for termux user which provides a lot of tool mainly used tools in termux and its easy to use, Lazymux install any of the given tools provided by it

DedSecTL 1.8k Jan 09, 2023
"Log in as user" for the Django admin.

django-loginas About "Login as user" for the Django admin. loginas supports Python 3 only, as of version 0.4. If you're on 2, use 0.3.6. Installing dj

Stavros Korokithakis 326 Dec 03, 2022
A minimalist GUI frontend for the youtube-dl. Takes up less than 4 KB.

📥 libre-DL A minimalist GUI wrapper for youtube-dl. Written in python. Total size less than 4 KB. Contributions welcome. You don't need youtube-dl pr

40 Sep 23, 2022
Drop-in replacement of Django admin comes with lots of goodies, fully extensible with plugin support, pretty UI based on Twitter Bootstrap.

Xadmin Drop-in replacement of Django admin comes with lots of goodies, fully extensible with plugin support, pretty UI based on Twitter Bootstrap. Liv

差沙 4.7k Dec 31, 2022
A Django app for easily adding object tools in the Django admin

Django Object Actions If you've ever tried making admin object tools you may have thought, "why can't this be as easy as making Django Admin Actions?"

Chris Chang 524 Dec 26, 2022