Reusable Django Packages/Apps
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
See also
References
- ↑ How to write reusable apps - Django Documentation