Reusable Django Packages/Apps

From Littledamien Wiki
Revision as of 05:20, 1 December 2015 by Video8 (talk | contribs)
Jump to navigation Jump to search

Overview

Notes on workflow and best practices for creating and maintaining reusable packages/apps in Django.[1]

Workflow

Packaging an app

$ cd /path/to/app/source/dir/
$ python setup.py sdist

Installing, uninstalling, and updating apps

$ pip uninstall django-addresses
$ pip install ~/develop/labs/shared/django-addresses/dist/django-addresses-1.2.1.tar.gz

Make sure to take at all the versions stored in the dist directory to confirm that the latest version is being installed, i.e. don't assume that there is only one version stored there.

Using an app in a Django project

Add the app name under INSTALLED_APPS in the project's settings.py file.

# my_project/settings.py

# ...

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiels',
    'contact_info',
)

Confirming the version of an installed app

Use the pip show command, e.g.:

$ pip show django-contact_info

Notes

  1. How to write reusable apps - Django Documentation